Facial expressions from eye-tracking cameras

ABSTRACT

Systems and methods for synthesizing an image of the face by a head-mounted display (HMD), such as an augmented reality device, are disclosed. The HMD may be able to observe only a portion of the face with an inward-facing imaging system, e.g., the periocular region. The systems and methods described herein can generate a mapping of a conformation of the portion of the face that is not imaged based at least partly on a conformation of the portion of the face that is imaged. The HMD can receive an image of a portion of the face and use the mapping to determine a conformation of the portion of the face that is not observed. The HMD can combine the observed and unobserved portions to synthesize a full face image.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority to U.S. PatentApplication No. 62/644,005, filed Mar. 16, 2018, entitled FACIALEXPRESSIONS FROM EYE-TRACKING CAMERAS, which is hereby incorporated byreference herein in its entirety.

FIELD

The present disclosure relates to virtual reality and augmented realityimaging and visualization systems and more particularly to determiningfeatures of a region of the face unobserved by a wearable device (e.g.,mouth and eyebrows) using images of a region of the face observable bythe wearable device (e.g., the periocular region imaged by aneye-tracking camera).

BACKGROUND

Modern computing and display technologies have facilitated thedevelopment of systems for so called “virtual reality” or “augmentedreality” or “mixed reality” experiences, wherein digitally reproducedimages or portions thereof are presented to a user in a manner whereinthey seem to be, or may be perceived as, real. A virtual reality, “VR”,scenario typically involves presentation of digital or virtual imageinformation without transparency to other actual real-world visualinput; an augmented reality, “AR”, scenario typically involvespresentation of digital or virtual image information as an augmentationto visualization of the actual world around the user. Mixed reality,“MR”, is a type of AR in which physical and virtual objects may co-existand interact in real time. Many of the challenges addressed herein areapplicable to VR, AR, or MR environments and for simplicity will bedescribed in the context of AR.

Referring to FIG. 1, an augmented reality scene 1000 is depicted whereina user of an AR technology sees a real-world park-like setting 1100featuring people, trees, buildings in the background, and a concreteplatform 1120. In addition to these items, the user of the AR technologyalso perceives that she “sees” a robot statue 1110 standing upon thereal-world platform 1120, and a cartoon-like avatar character 1130flying by which seems to be a personification of a bumble bee, eventhough these elements do not exist in the real world. As it turns out,the human visual perception system is very complex, and producing a VRor AR technology that facilitates a comfortable, natural-feeling, richpresentation of virtual image elements amongst other virtual orreal-world imagery elements is challenging. Systems and methodsdisclosed herein address various challenges related to VR and AR (andMR) technology.

SUMMARY

Systems and methods for synthesizing an image of the face by ahead-mounted display (HMD), such as an augmented reality device, aredisclosed. The HMD may be able to observe only a portion of the facewith an inward-facing imaging system, e.g., the periocular region. Thesystems and methods described herein can generate a mapping of aconformation of the portion of the face that is not imaged based atleast partly on a conformation of the portion of the face that isimaged. The HMD can receive an image of a portion of the face and usethe mapping to determine a conformation of the portion of the face thatis not observed. The HMD can combine the observed and unobservedportions to synthesize a full face image.

Details of one or more implementations of the subject matter describedin this specification are set forth in the accompanying drawings and thedescription below. Other features, aspects, and advantages will becomeapparent from the description, the drawings, and the claims. Neitherthis summary nor the following detailed description purports to defineor limit the scope of the inventive subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an illustration of an augmented reality scenario withcertain virtual reality objects, and certain actual reality objectsviewed by a person.

FIG. 2 schematically illustrates an example of a wearable displaysystem.

FIG. 3 schematically illustrates aspects of an approach for simulatingthree-dimensional imagery using multiple depth planes.

FIG. 4 schematically illustrates an example of a waveguide stack foroutputting image information to a user.

FIG. 5 shows example exit beams that may be outputted by a waveguide.

FIG. 6 is a schematic diagram showing an optical system including awaveguide apparatus, an optical coupler subsystem to optically couplelight to or from the waveguide apparatus, and a control subsystem, usedin the generation of a multi-focal volumetric display, image, or lightfield.

FIG. 7 is a block diagram of an example of an AR system.

FIG. 8 is a process flow diagram of an example of a method of renderingvirtual content in relation to recognized objects.

FIG. 9 is a block diagram of another example of an AR system.

FIG. 10A is a process flow diagram of an example of a method forinteracting with a virtual user interface.

FIG. 10B illustrates an example telepresence session.

FIG. 11 illustrates an example wearable display system which can acquireimages of the user's face.

FIG. 12A-12B illustrates example images of a periocular region of an eyeand various ocular and periocular features.

FIG. 13 illustrates an example system for inferring facial expressionsfrom various sensor inputs and applying the expression to an avatar.

FIG. 14A and 14B illustrates examples of loosely fitting and tightlyfitting wearable display systems, respectively.

FIG. 15 is a process flow diagram of an example method for determining afit level of a wearable display system.

FIG. 16A-16C illustrate changes in periocular region features observedwith a tightly fitting wearable device.

FIG. 17 is a process flow diagram of an example method for eyebrowmovement detection for a tightly fitting wearable device.

FIG. 18A and 18B illustrate changes in periocular region featuresobserved with a loosely fitting wearable device.

FIG. 18C illustrates examples of optical flows of features in theperiocular region.

FIG. 19 is a process flow diagram of an example method for eyebrowmovement detection for a loosely fitting wearable device.

FIG. 20A-20D illustrate changes in periocular region features observedas a result of a lower face event (e.g., a smile).

FIG. 21 is a process flow diagram of an example method for inferringlower face events from changes in periocular images.

FIG. 22 is a process flow diagram of an example method forpersonalization of a wearable device for better correlation between userfacial features and avatar facial features.

FIG. 23 is a block diagram of a system for determining a facial model ofa user from periocular images of the user.

FIG. 24 illustrates an example process of synthesizing a full face modelfrom periocular images of a user and animating an avatar based on thefull face model or communicating the full face model to another user.

FIG. 25 illustrates another example process of synthesizing a full facemodel from periocular images of a user and animating an avatar based onthe full face model or communicating the full face model to anotheruser.

Throughout the drawings, reference numbers may be re-used to indicatecorrespondence between referenced elements. The drawings are provided toillustrate example embodiments described herein and are not intended tolimit the scope of the disclosure.

DETAILED DESCRIPTION Overview

In an augmented or a virtual reality environment, a wearable device(such as a head-mounted display) can present a virtual image in athree-dimensional (3D) space. The virtual image may include a 3D virtualavatar of a user. The 3D virtual avatar may be generated using an imageof the user's face. For social VR/AR/MR applications, it can beimportant to accurately extract a user's facial expressions inreal-time. An accurate representation of a user's facial expressionsdrives fidelity of presence in a telecommunication session between users(e.g., a chat session or a social presence application) by making theexperience feel more interactive, vibrant, and, therefore, realistic. Aninaccurate avatar facial expression representation (including lack offacial expressions) can not only fail to communicate the context or moodof the user, but also feel sterile or even creepy. Users that interactwith inaccurately rendered avatars may experience a feeling of unease,which is commonly referred to as the uncanny valley, and represents adip in human emotional response to an avatar that is almost, but notquite, human in its appearance or movements.

Therefore, a social presence application may benefit from a realisticand natural animation of the avatars of the participants. In traditionalfacial motion capture, typically the full face is tracked with one ormore dedicated cameras. However, when a user is wearing a wearabledevice, a portion of the face (e.g., the periocular region surroundingthe eyes) may be occluded by the wearable device. For example, if animage of the user is obtained using an external camera or anoutward-facing imaging system, movements of the periocular region (e.g.,eye or skin movements) may not be imaged. As another example, if theimage is obtained using an inward-facing eye camera (e.g., aneye-tracking (ET) camera), the lower face region may not be imaged bythe ET camera. As a result, it may be difficult to update thethree-dimensional (3D) avatar of the user's face to include the user'sfull facial expressions (such as when the user is grinning) while theuser is wearing the wearable device. While some existing technologiesassociate sounds (e.g., phonemes) with facial conformations (e.g.,visemes) to assist avatar animation when a user is talking, suchtechnologies are of limited use in conveying user's facial expressionsand useless when the user is silent. For example, sound-based avatargeneration systems cannot fully convey a user's soundless expression ofsurprise or smile. Accordingly, there exists a challenge on how toaccurately infer key elements for social expressiveness, such aseyebrow-raises and mouth-movements, which are not directly visible tothe one or more ET cameras. However, such social expressions can bebeneficial to display in various human interactions in a VR/AR/MRenvironment.

Embodiments of the systems and methods described herein are directed tosolving at least this challenge by inferring appearance of anunobservable region of the face using the images of a region of the facethat can be observed by an inward-facing (e.g., ET) camera. Even thoughthe ET cameras may not directly observe eyebrows or the lower face, theobserved ET camera images may be able to identify muscle contractions orfeature changes that generate movements of the eyebrows or lower face(e.g., lips or mouth or the regions of the face below the periocularregions). For example, images of a periocular region (e.g., a regionsurrounding the eyeball) observed by an ET camera can include some ofupper periocular region (e.g., a portion of the periocular region abovethe pupil) which may show muscle contractions and feature changes thatare related to eyebrow raises and eye shape changes. Such musclecontractions and feature changes provide potential to detectcorresponding changes in facial expressions.

A lower periocular region (e.g., a portion of the periocular regionbelow the pupil) of the observed ET images can provide potential todetect lower face conformations (e.g., shape or structure). For example,a smile may be inferred from the lifting of the lower periocular region.Accordingly, the wearable device can infer the conformation of theunobserved regions from various observed features of the periocularregion. In some embodiments, the present system may generate a mappingof such feature-expression associations or inferences. The mapping maybe generated using various observable feature inputs such as stretchesand compressions of the skin, changes in position (e.g., movements) andshape of facial features (e.g., wrinkles, lines, blemishes, spots),optical flow of such features (e.g., their movement or trajectory over aperiod of time), or other observable changes of muscles, eyebrows,freckles, wrinkles, or other features extracted from images of theuser's periocular region, alone or in combination. The mapping can be apart of an expression inference model. The mapping may be generic or maybe personalized to the specific user. For example, an AR device may beequipped with a generic mapping representative of a large sample ofusers, and then the mapping can be personalized to the specific user ofthe AR device based on analysis of images taken of the specific user.The model may take as input observed features (e.g., raw or processed),face parameters in a face model, features extracted from the user'sface, unobserved region images generated for the user's face, generictemplate features, etc. and generate as an output inferred images of theunobserved face or an entire face model (e.g., by combining the observedand inferred facial conformations).

The observed images may be combined with the inferred images to generatea full face image. By leveraging principles of optical flow and machinelearning (e.g., artificial intelligence, neural networks, etc.), thesystem may accurately classify the eyebrow status and strong changes infacial features such as grinning or mouth opening in real-time. The fullface image may be used to dynamically update the user's virtual avatarin an augmented, mixed, or virtual reality experience. A deformablelinear model (DLM) (or other shape or texture model) for the face or aneural network can be used to determine, train, or apply the mapping.The disclosed systems and methods, unlike other approaches, also workwhen the user is silent.

Examples of a 3D Display

In order for a three-dimensional (3D) display to produce a truesensation of depth, and more specifically, a simulated sensation ofsurface depth, it is desirable for each point in the display's visualfield to generate the accommodative response corresponding to itsvirtual depth. If the accommodative response to a display point does notcorrespond to the virtual depth of that point, as determined by thebinocular depth cues of convergence and stereopsis, the human eye mayexperience an accommodation conflict, resulting in unstable imaging,harmful eye strain, headaches, and, in the absence of accommodationinformation, almost a complete lack of surface depth.

VR and AR experiences can be provided by display systems having displaysin which images corresponding to a plurality of depth planes areprovided to a viewer. The images may be different for each depth plane(e.g., provide slightly different presentations of a scene or object)and may be separately focused by the viewer's eyes, thereby helping toprovide the user with depth cues based on the accommodation of the eyerequired to bring into focus different image features for the scenelocated on different depth plane and/or based on observing differentimage features on different depth planes being out of focus. Asdiscussed elsewhere herein, such depth cues provide credible perceptionsof depth.

FIG. 2 illustrates an example of wearable display system 100 (thesystem). The display system 100 includes a display 62, and variousmechanical and electronic modules and systems to support the functioningof display 62. The display 62 may be coupled to a frame 64, which iswearable by a display system user, wearer, or viewer 60 and which isconfigured to position the display 62 in front of the eyes of the user60. The display system 100 can comprise a head mounted display (HMD)that is worn on the head of the wearer. An augmented reality display(ARD) can include the wearable display system 100. In some embodiments,an audio speaker 66 is coupled to the frame 64 and positioned adjacentthe ear canal of the user (in some embodiments, another speaker, notshown, is positioned adjacent the other ear canal of the user to providefor stereo/shapeable sound control). The display system 100 can includean outward-facing imaging system which observes the world in theenvironment around the wearer (see, e.g., the imaging system 502 shownin FIG. 4). The display system 100 can also include an inward-facingimaging system which can track the eye movements of the wearer (see,e.g., the imaging system 500 shown in FIG. 4). The inward-facing imagingsystem may track either one eye's movements or both eyes' movements. Thedisplay 62 can be operatively coupled 68, such as by a wired lead orwireless connectivity, to a local data processing module 71 which may bemounted in a variety of configurations, such as fixedly attached to theframe 64, fixedly attached to a helmet or hat worn by the user, embeddedin headphones, or otherwise removably attached to the user 60 (e.g., ina backpack-style configuration, in a belt-coupling style configuration).In some embodiments, one or more electrooculography (EOG) sensors 70 maybe coupled to the frame 64 to provide the wearable device withmeasurements of the corneo-retinal standing potential (which providesinformation on eye movements) that exists between the front and the backof the human eye. The one or more EOG sensors 70 may be placed near, on,or along the nose piece of the frame 64. In some embodiments, sensorsfor other types of electrophysiological measurements, such aselectroretinogram or visual evoked potentials, may be provided tosupplement the wearable device. In some embodiments, one or moremicrophones 69 may be coupled to the frame 64 and positioned near theuser's mouth. The one or more microphones 69 may capture voice of theuser or environmental sounds. Another microphone, not depicted in thefigure, may be positioned on the other side of the depicted microphone69 to provide for stereo/shapeable environmental sound detection. As oneskilled in the art may appreciate, the input from the one or moremicrophones 69 may provide for audio input as well as noisecancellation.

The local processing and data module 71 may comprise a hardwareprocessor, as well as digital memory, such as non-volatile memory (e.g.,flash memory), both of which may be utilized to assist in theprocessing, caching, and storage of data. The data may include data a)captured from sensors (which may be, e.g., operatively coupled to theframe 64 or otherwise attached to the user 60), such as image capturedevices (e.g., cameras), microphones 69, inertial measurement units(IMUs), accelerometers, compasses, global positioning system (GPS)units, radio devices, and/or gyroscopes; and/or b) acquired and/orprocessed using remote processing module 72 and/or remote datarepository 74, possibly for passage to the display 62 after suchprocessing or retrieval. The local processing and data module 71 may beoperatively coupled by communication links 76 and/or 78, such as viawired or wireless communication links, to the remote processing module72 and/or remote data repository 74 such that these remote modules areavailable as resources to the local processing and data module 71. Inaddition, remote processing module 72 and remote data repository 74 maybe operatively coupled to each other.

In some embodiments, the remote processing module 72 may comprise one ormore hardware processors configured to analyze and process data and/orimage information. In some embodiments, the remote data repository 74may comprise a digital data storage facility, which may be availablethrough the internet or other networking configuration in a “cloud”resource configuration. In some embodiments, all data is stored and allcomputations are performed in the local processing and data module,allowing fully autonomous use from a remote module.

The human visual system is complicated and providing a realisticperception of depth is challenging. Without being limited by theory, itis believed that viewers of an object may perceive the object as beingthree-dimensional due to a combination of vergence and accommodation.Vergence movements (e.g., rotational movements of the pupils toward oraway from each other to converge the lines of sight of the eyes tofixate upon an object) of the two eyes relative to each other areclosely associated with focusing (or “accommodation”) of the lenses ofthe eyes. Under normal conditions, changing the focus of the lenses ofthe eyes, or accommodating the eyes, to change focus from one object toanother object at a different distance will automatically cause amatching change in vergence to the same distance, under a relationshipknown as the “accommodation-vergence reflex.” Likewise, a change invergence will trigger a matching change in accommodation, under normalconditions. Display systems that provide a better match betweenaccommodation and vergence may form more realistic or comfortablesimulations of three-dimensional imagery.

FIG. 3 illustrates aspects of an approach for simulatingthree-dimensional imagery using multiple depth planes. With reference toFIG. 3, objects at various distances from eyes 302 and 304 on the z-axisare accommodated by the eyes 302 and 304 so that those objects are infocus. The eyes 302 and 304 assume particular accommodated states tobring into focus objects at different distances along the z-axis.Consequently, a particular accommodated state may be said to beassociated with a particular one of depth planes 306, with has anassociated focal distance, such that objects or parts of objects in aparticular depth plane are in focus when the eye is in the accommodatedstate for that depth plane. In some embodiments, three-dimensionalimagery may be simulated by providing different presentations of animage for each of the eyes 302 and 304, and also by providing differentpresentations of the image corresponding to each of the depth planes.While shown as being separate for clarity of illustration, it will beappreciated that the fields of view of the eyes 302 and 304 may overlap,for example, as distance along the z-axis increases. In addition, whileshown as flat for ease of illustration, it will be appreciated that thecontours of a depth plane may be curved in physical space, such that allfeatures in a depth plane are in focus with the eye in a particularaccommodated state. Without being limited by theory, it is believed thatthe human eye typically can interpret a finite number of depth planes toprovide depth perception. Consequently, a highly believable simulationof perceived depth may be achieved by providing, to the eye, differentpresentations of an image corresponding to each of these limited numberof depth planes.

Waveguide Stack Assembly

FIG. 4 illustrates an example of a waveguide stack for outputting imageinformation to a user. A display system 100 includes a stack ofwaveguides, or stacked waveguide assembly, 178 that may be utilized toprovide three-dimensional perception to the eye/brain using a pluralityof waveguides 182, 184, 186, 188, 190. In some embodiments, the displaysystem 100 may correspond to system 100 of FIG. 2, with FIG. 4schematically showing some parts of that system 100 in greater detail.For example, in some embodiments, the waveguide assembly 178 may beintegrated into the display 62 of FIG. 2.

With continued reference to FIG. 4, the waveguide assembly 178 may alsoinclude a plurality of features 198, 196, 194, 192 between thewaveguides. In some embodiments, the features 198, 196, 194, 192 may belenses. The waveguides 182, 184, 186, 188, 190 and/or the plurality oflenses 198, 196, 194, 192 may be configured to send image information tothe eye with various levels of wavefront curvature or light raydivergence. Each waveguide level may be associated with a particulardepth plane and may be configured to output image informationcorresponding to that depth plane. Image injection devices 200, 202,204, 206, 208 may be utilized to inject image information into thewaveguides 182, 184, 186, 188, 190, each of which may be configured todistribute incoming light across each respective waveguide, for outputtoward the eye 304. Light exits an output surface of the image injectiondevices 200, 202, 204, 206, 208 and is injected into a correspondinginput edge of the waveguides 182, 184, 186, 188, 190. In someembodiments, a single beam of light (e.g., a collimated beam) may beinjected into each waveguide to output an entire field of clonedcollimated beams that are directed toward the eye 304 at particularangles (and amounts of divergence) corresponding to the depth planeassociated with a particular waveguide.

In some embodiments, the image injection devices 200, 202, 204, 206, 208are discrete displays that each produce image information for injectioninto a corresponding waveguide 182, 184, 186, 188, 190, respectively. Insome other embodiments, the image injection devices 200, 202, 204, 206,208 are the output ends of a single multiplexed display which may, e.g.,pipe image information via one or more optical conduits (such as fiberoptic cables) to each of the image injection devices 200, 202, 204, 206,208.

A controller 210 controls the operation of the stacked waveguideassembly 178 and the image injection devices 200, 202, 204, 206, 208. Insome embodiments, the controller 210 includes programming (e.g.,instructions in a non-transitory computer-readable medium) thatregulates the timing and provision of image information to thewaveguides 182, 184, 186, 188, 190. In some embodiments, the controllermay be a single integral device, or a distributed system connected bywired or wireless communication channels. The controller 210 may be partof the processing modules 71 or 72 (illustrated in FIG. 2) in someembodiments.

The waveguides 182, 184, 186, 188, 190 may be configured to propagatelight within each respective waveguide by total internal reflection(TIR). The waveguides 182, 184, 186, 188, 190 may each be planar or haveanother shape (e.g., curved), with major top and bottom surfaces andedges extending between those major top and bottom surfaces. In theillustrated configuration, the waveguides 182, 184, 186, 188, 190 mayeach include light extracting optical elements 282, 284, 286, 288, 290that are configured to extract light out of a waveguide by redirectingthe light, propagating within each respective waveguide, out of thewaveguide to output image information to the eye 304. Extracted lightmay also be referred to as outcoupled light, and light extractingoptical elements may also be referred to as outcoupling opticalelements. An extracted beam of light is outputted by the waveguide atlocations at which the light propagating in the waveguide strikes alight redirecting element. The light extracting optical elements 282,284, 286, 288, 290 may, for example, be reflective and/or diffractiveoptical features. While illustrated disposed at the bottom majorsurfaces of the waveguides 182, 184, 186, 188, 190 for ease ofdescription and drawing clarity, in some embodiments, the lightextracting optical elements 282, 284, 286, 288, 290 may be disposed atthe top and/or bottom major surfaces, and/or may be disposed directly inthe volume of the waveguides 182, 184, 186, 188, 190. In someembodiments, the light extracting optical elements 282, 284, 286, 288,290 may be formed in a layer of material that is attached to atransparent substrate to form the waveguides 182, 184, 186, 188, 190. Insome other embodiments, the waveguides 182, 184, 186, 188, 190 may be amonolithic piece of material and the light extracting optical elements282, 284, 286, 288, 290 may be formed on a surface and/or in theinterior of that piece of material.

With continued reference to FIG. 4, as discussed herein, each waveguide182, 184, 186, 188, 190 is configured to output light to form an imagecorresponding to a particular depth plane. For example, the waveguide182 nearest the eye may be configured to deliver collimated light, asinjected into such waveguide 182, to the eye 304. The collimated lightmay be representative of the optical infinity focal plane. The nextwaveguide up 184 may be configured to send out collimated light whichpasses through the first lens 192 (e.g., a negative lens) before it canreach the eye 304. First lens 192 may be configured to create a slightconvex wavefront curvature so that the eye/brain interprets light comingfrom that next waveguide up 184 as coming from a first focal planecloser inward toward the eye 304 from optical infinity. Similarly, thethird up waveguide 186 passes its output light through both the firstlens 192 and second lens 194 before reaching the eye 304. The combinedoptical power of the first and second lenses 192 and 194 may beconfigured to create another incremental amount of wavefront curvatureso that the eye/brain interprets light coming from the third waveguide186 as coming from a second focal plane that is even closer inwardtoward the person from optical infinity than was light from the nextwaveguide up 184.

The other waveguide layers (e.g., waveguides 188, 190) and lenses (e.g.,lenses 196, 198) are similarly configured, with the highest waveguide190 in the stack sending its output through all of the lenses between itand the eye for an aggregate focal power representative of the closestfocal plane to the person. To compensate for the stack of lenses 198,196, 194, 192 when viewing/interpreting light coming from the world 144on the other side of the stacked waveguide assembly 178, a compensatinglens layer 180 may be disposed at the top of the stack to compensate forthe aggregate power of the lens stack 198, 196, 194, 192 below. Such aconfiguration provides as many perceived focal planes as there areavailable waveguide/lens pairings. Both the light extracting opticalelements of the waveguides and the focusing aspects of the lenses may bestatic (e.g., not dynamic or electro-active). In some alternativeembodiments, either or both may be dynamic using electro-activefeatures.

The display system 100 can include an outward-facing imaging system 502(e.g., a digital camera) that images a portion of the world 144. Thisportion of the world 144 may be referred to as the field of view (FOV)and the imaging system 502 is sometimes referred to as an FOV camera.The entire region available for viewing or imaging by a viewer may bereferred to as the field of regard (FOR). In some HMD implementations,the FOR may include substantially all of the solid angle around a wearerof the HMD, because the wearer can move their head and eyes to look atobjects surrounding the wearer (in front, in back, above, below, or onthe sides of the wearer). Images obtained from the outward-facingimaging system 502 can be used to track gestures made by the wearer(e.g., hand or finger gestures), detect objects in the world 144 infront of the wearer, and so forth.

The display system 100 can include a user input device 504 by which theuser can input commands to the controller 210 to interact with thesystem 100. For example, the user input device 504 can include atrackpad, a touchscreen, a joystick, a multiple degree-of-freedom (DOF)controller, a capacitive sensing device, a game controller, a keyboard,a mouse, a directional pad (D-pad), a wand, a haptic device, a totem(e.g., functioning as a virtual user input device), and so forth. Insome cases, the user may use a finger (e.g., a thumb) to press or swipeon a touch-sensitive input device to provide input to the system 100(e.g., to provide user input to a user interface provided by the system100). The user input device 504 may be held by the user's hand duringuse of the system 100. The user input device 504 can be in wired orwireless communication with the display system 100.

With continued reference to FIG. 4, the light extracting opticalelements 282, 284, 286, 288, 290 may be configured to both redirectlight out of their respective waveguides and to output this light withthe appropriate amount of divergence or collimation for a particulardepth plane associated with the waveguide. As a result, waveguideshaving different associated depth planes may have differentconfigurations of light extracting optical elements, which output lightwith a different amount of divergence depending on the associated depthplane. In some embodiments, as discussed herein, the light extractingoptical elements 282, 284, 286, 288, 290 may be volumetric or surfacefeatures, which may be configured to output light at specific angles.For example, the light extracting optical elements 282, 284, 286, 288,290 may be volume holograms, surface holograms, and/or diffractiongratings. Light extracting optical elements, such as diffractiongratings, are described in U.S. Patent Publication No. 2015/0178939,published Jun. 25, 2015, which is incorporated by reference herein inits entirety. In some embodiments, the features 198, 196, 194, 192 maynot be lenses. Rather, they may simply be spacers (e.g., cladding layersand/or structures for forming air gaps).

In some embodiments, the light extracting optical elements 282, 284,286, 288, 290 are diffractive features that form a diffraction pattern,or “diffractive optical element” (also referred to herein as a “DOE”).Preferably, the DOEs have a relatively low diffraction efficiency sothat only a portion of the light of the beam is deflected away towardthe eye 304 with each intersection of the DOE, while the rest continuesto move through a waveguide via total internal reflection. The lightcarrying the image information is thus divided into a number of relatedexit beams that exit the waveguide at a multiplicity of locations andthe result is a fairly uniform pattern of exit emission toward the eye304 for this particular collimated beam bouncing around within awaveguide.

In some embodiments, one or more DOEs may be switchable between “on”states in which they actively diffract, and “off” states in which theydo not significantly diffract. For instance, a switchable DOE maycomprise a layer of polymer dispersed liquid crystal, in whichmicrodroplets comprise a diffraction pattern in a host medium, and therefractive index of the microdroplets can be switched to substantiallymatch the refractive index of the host material (in which case thepattern does not appreciably diffract incident light) or themicrodroplet can be switched to an index that does not match that of thehost medium (in which case the pattern actively diffracts incidentlight).

In some embodiments, the number and distribution of depth planes and/ordepth of field may be varied dynamically based on the pupil sizes and/ororientations of the eyes of the viewer. In some embodiments, the displaysystem 100 also includes an inward-facing imaging system (e.g. a digitalcamera) 500, which observes the movements of the wearer, such as the eyemovements and the facial movements. The inward-facing imaging system 500(e.g., a digital camera) may be used to capture images of the eye 304 todetermine the size and/or orientation of the pupil of the eye 304. Theinward-facing imaging system 500 can be used to obtain images for use indetermining the direction the wearer 60 is looking (e.g., eye pose) orfor biometric identification of the wearer (e.g., via irisidentification). In some embodiments, the inward-facing imaging system500 may be attached to the frame 64 (as illustrated in FIG. 2) and maybe in electrical communication with the processing modules 71 and/or 72,which may process image information from the camera 500 to determine,e.g., the pupil diameters and/or orientations of the eyes of the user60. In some embodiments, at least one camera 500 may be utilized forimaging each eye, to separately determine the pupil size and/or eye poseof each eye independently, thereby allowing the presentation of imageinformation to each eye to be dynamically tailored to that eye. In someother embodiments, the pupil diameter and/or orientation of only asingle eye 304 is determined (e.g., using only a camera 500 per pair ofeyes) and the eye features determined for this eye are assumed to besimilar for the other eye of the viewer 60. The images obtained from theinward-facing imaging system 500 may be used to obtain images forsubstituting the region of the wearer's face occluded by the HMD, whichcan be used such that a first caller can see a second caller'sunoccluded face during a telepresence session. The display system 100may also determine head pose (e.g., head position or head orientation)using sensors such as IMUs, accelerometers, gyroscopes, etc. The head'spose may be used alone or in combination with gaze direction to selectand move virtual objects. In some embodiments, at least one infraredlight emitting diode (IR LED) 508 may be utilized for transmitting lightinvisible to the unassisted human eye 304 but detectable by componentsof the device such as the inward-facing imaging system 500. Morespecifically, the IR LED 508 may be used for pupil-glint detection, eyetracking, or measurement of optical flow of facial features, which mayappear more enhanced in IR light (further described in later sections).

The images obtained from the inward-facing imaging system 500 mayprovide the wearable display system 100 with images that comprise theperiocular region (e.g., sometimes referred to herein as periocularimages). The term periocular region is used in its ordinary sense, andthe periocular region may include an eye and areas of the face aroundthe eye including, e.g., an eyelid, eyelashes, an eyebrow, and skinaround the eye. Examples of periocular images and periocular regions areillustrated in FIGS. 12A, 12B, 16B, 18A-18C, and 20A-20D. The periocularimages may then be analyzed and extracted for facial features includingstretches and compressions, changes in position (e.g., movements),shape, optical flow, or other observable changes of muscles, eyebrows,freckles, wrinkles, or other features. As discussed throughout, thesefacial features may provide the basis for inferring the facialexpressions of the user.

Depth of field may change inversely with a viewer's pupil size. As aresult, as the sizes of the pupils of the viewer's eyes decrease, thedepth of field increases such that one plane not discernible because thelocation of that plane is beyond the depth of focus of the eye maybecome discernible and appear more in focus with reduction of pupil sizeand commensurate increase in depth of field. Likewise, the number ofspaced apart depth planes used to present different images to the viewermay be decreased with decreased pupil size. For example, a viewer maynot be able to clearly perceive the details of both a first depth planeand a second depth plane at one pupil size without adjusting theaccommodation of the eye away from one depth plane and to the otherdepth plane. These two depth planes may, however, be sufficiently infocus at the same time to the user at another pupil size withoutchanging accommodation.

In some embodiments, the display system may vary the number ofwaveguides receiving image information based upon determinations ofpupil size and/or orientation, or upon receiving electrical signalsindicative of particular pupil sizes and/or orientations. For example,if the user's eyes are unable to distinguish between two depth planesassociated with two waveguides, then the controller 210 may beconfigured or programmed to cease providing image information to one ofthese waveguides. Advantageously, this may reduce the processing burdenon the system, thereby increasing the responsiveness of the system. Inembodiments in which the DOEs for a waveguide are switchable between onand off states, the DOEs may be switched to the off state when thewaveguide does receive image information.

In some embodiments, it may be desirable to have an exit beam meet thecondition of having a diameter that is less than the diameter of the eyeof a viewer. However, meeting this condition may be challenging in viewof the variability in size of the viewer's pupils. In some embodiments,this condition is met over a wide range of pupil sizes by varying thesize of the exit beam in response to determinations of the size of theviewer's pupil. For example, as the pupil size decreases, the size ofthe exit beam may also decrease. In some embodiments, the exit beam sizemay be varied using a variable aperture.

FIG. 5 shows an example of exit beams outputted by a waveguide. Onewaveguide is illustrated, but it will be appreciated that otherwaveguides in the waveguide assembly 178 may function similarly, wherethe waveguide assembly 178 includes multiple waveguides. Light 400 isinjected into the waveguide 182 at the input edge 382 of the waveguide182 and propagates within the waveguide 182 by TIR. At points where thelight 400 impinges on the DOE 282, a portion of the light exits thewaveguide as exit beams 402. The exit beams 402 are illustrated assubstantially parallel but they may also be redirected to propagate tothe eye 304 at an angle (e.g., forming divergent exit beams), dependingon the depth plane associated with the waveguide 182. It will beappreciated that substantially parallel exit beams may be indicative ofa waveguide with light extracting optical elements that outcouple lightto form images that appear to be set on a depth plane at a largedistance (e.g., optical infinity) from the eye 304. Other waveguides orother sets of light extracting optical elements may output an exit beampattern that is more divergent, which would require the eye 304 toaccommodate to a closer distance to bring it into focus on the retinaand would be interpreted by the brain as light from a distance closer tothe eye 304 than optical infinity.

FIG. 6 shows another example of the optical display system 100 includinga waveguide apparatus, an optical coupler subsystem to optically couplelight to or from the waveguide apparatus, and a control subsystem. Theoptical system 100 can be used to generate a multi-focal volumetric,image, or light field. The optical system can include one or moreprimary planar waveguides 1 (only one is shown in FIG. 6) and one ormore DOEs 2 associated with each of at least some of the primarywaveguides 1. The planar waveguides 1 can be similar to the waveguides182, 184, 186, 188, 190 discussed with reference to FIG. 4. The opticalsystem may employ a distribution waveguide apparatus, to relay lightalong a first axis (vertical or Y-axis in view of FIG. 6), and expandthe light's effective exit pupil along the first axis (e.g., Y-axis).The distribution waveguide apparatus, may, for example include adistribution planar waveguide 3 and at least one DOE 4 (illustrated bydouble dash-dot line) associated with the distribution planar waveguide3. The distribution planar waveguide 3 may be similar or identical in atleast some respects to the primary planar waveguide 1, having adifferent orientation therefrom Likewise, the at least one DOE 4 may besimilar or identical in at least some respects to the DOE 2. Forexample, the distribution planar waveguide 3 and/or DOE 4 may becomprised of the same materials as the primary planar waveguide 1 and/orDOE 2, respectively. Embodiments of the optical display system 100 shownin FIG. 4 or 6 can be integrated into the wearable display system 100shown in FIG. 2.

The relayed and exit-pupil expanded light is optically coupled from thedistribution waveguide apparatus into the one or more primary planarwaveguides 1. The primary planar waveguide 1 relays light along a secondaxis, preferably orthogonal to first axis, (e.g., horizontal or X-axisin view of FIG. 6). Notably, the second axis can be a non-orthogonalaxis to the first axis. The primary planar waveguide 1 expands thelight's effective exit pupil along that second axis (e.g., X-axis). Forexample, the distribution planar waveguide 3 can relay and expand lightalong the vertical or Y-axis, and pass that light to the primary planarwaveguide 1 which relays and expands light along the horizontal orX-axis.

The optical system may include one or more sources of colored light(e.g., red (R), green (G), and blue (B) laser light or colored lightfrom light emitting diodes (LEDs)) 11 which may be optically coupledinto a proximal end of a single mode optical fiber 9. A distal end ofthe optical fiber 9 may be threaded or received through a hollow tube 8of piezoelectric material. The distal end protrudes from the tube 8 asfixed-free flexible cantilever 7. The piezoelectric tube 8 can beassociated with 4 quadrant electrodes (not illustrated). The electrodesmay, for example, be plated on the outside, outer surface or outerperiphery or diameter of the tube 8. A core electrode (not illustrated)is also located in a core, center, inner periphery or inner diameter ofthe tube 8.

Drive electronics 12, for example electrically coupled via wires 10,drive opposing pairs of electrodes to bend the piezoelectric tube 8 intwo axes independently. The protruding distal tip of the optical fiber 7has mechanical modes of resonance. The frequencies of resonance candepend upon a diameter, length, and material properties of the opticalfiber 7. By vibrating the piezoelectric tube 8 near a first mode ofmechanical resonance of the fiber cantilever 7, the fiber cantilever 7is caused to vibrate, and can sweep through large deflections.

By stimulating resonant vibration in two axes, the tip of the fibercantilever 7 is scanned biaxially in an area filling two dimensional(2D) scan. By modulating an intensity of light source(s) 11 in synchronywith the scan of the fiber cantilever 7, light emerging from the fibercantilever 7 forms an image. Descriptions of such a set up are providedin U.S. Patent Publication No. 2014/0003762, which is incorporated byreference herein in its entirety.

A component 6 of an optical coupler subsystem collimates the lightemerging from the scanning fiber cantilever 7. The collimated light isreflected by an optical surface 5 (e.g., a reflective surface, mirror,dichroic mirror, or prism) into the narrow distribution planar waveguide3 which contains the at least one diffractive optical element (DOE) 4.The collimated light propagates vertically (relative to the view of FIG.6) along the distribution planar waveguide 3 by total internalreflection, and in doing so repeatedly intersects with the DOE 4. TheDOE 4 preferably has a low diffraction efficiency. This causes afraction (e.g., 10%) of the light to be diffracted toward an edge of thelarger primary planar waveguide 1 at each point of intersection with theDOE 4, and a fraction of the light to continue on its originaltrajectory down the length of the distribution planar waveguide 3 viaTIR.

At each point of intersection with the DOE 4, additional light isdiffracted toward the entrance of the primary waveguide 1. By dividingthe incoming light into multiple outcoupled sets, the exit pupil of thelight is expanded vertically by the DOE 4 in the distribution planarwaveguide 3. This vertically expanded light coupled out of distributionplanar waveguide 3 enters the edge of the primary planar waveguide 1.The distribution planar waveguide 3 is sometimes referred to as anorthogonal pupil expander (OPE).

Light entering primary waveguide 1 propagates horizontally (relative tothe view of FIG. 6) along the primary waveguide 1 via TIR. As the lightintersects with DOE 2 at multiple points as it propagates horizontallyalong at least a portion of the length of the primary waveguide 10 viaTIR. The DOE 2 may advantageously be designed or configured to have aphase profile that is a summation of a linear diffraction pattern and aradially symmetric diffractive pattern, to produce both deflection andfocusing of the light. The DOE 2 may advantageously have a lowdiffraction efficiency (e.g., 10%), so that only a portion of the lightof the beam is deflected toward the eye of the view with eachintersection of the DOE 2 while the rest of the light continues topropagate through the waveguide 1 via TIR.

At each point of intersection between the propagating light and the DOE2, a fraction of the light is diffracted toward the adjacent face of theprimary waveguide 1 allowing the light to escape the TIR, and emergefrom the face of the primary waveguide 1. In some embodiments, theradially symmetric diffraction pattern of the DOE 2 additionally impartsa focus level to the diffracted light, both shaping the light wavefront(e.g., imparting a curvature) of the individual beam as well as steeringthe beam at an angle that matches the designed focus level.

Accordingly, these different pathways can cause the light to be coupledout of the primary planar waveguide 1 by a multiplicity of DOEs 2 atdifferent angles, focus levels, and/or yielding different fill patternsat the exit pupil. The planar waveguide 1 is sometimes referred to as anexit pupil expander (EPE). Different fill patterns at the exit pupil canbe beneficially used to create a light field display with multiple depthplanes. Each layer in the waveguide assembly or a set of layers (e.g., 3layers) in the stack may be employed to generate a respective color(e.g., red, blue, green). Thus, for example, a first set of threeadjacent layers may be employed to respectively produce red, blue andgreen light at a first focal depth. A second set of three adjacentlayers may be employed to respectively produce red, blue and green lightat a second focal depth. Multiple sets may be employed to generate afull 3D or 4D color image light field with various focal depths.

Other Components of AR Systems

In many implementations, the AR system may include other components inaddition to the wearable display system 100. The AR devices may, forexample, include one or more haptic devices or components. The hapticdevice(s) or component(s) may be operable to provide a tactile sensationto a user. For example, the haptic device(s) or component(s) may providea tactile sensation of pressure and/or texture when touching virtualcontent (e.g., virtual objects, virtual tools, other virtualconstructs). The tactile sensation may replicate a feel of a physicalobject which a virtual object represents, or may replicate a feel of animagined object or character (e.g., a dragon) which the virtual contentrepresents. In some implementations, haptic devices or components may beworn by the user (e.g., a user wearable glove). In some implementations,haptic devices or components may be held by the user.

The AR system may, for example, include one or more physical objectswhich are manipulable by the user to allow input or interaction with theAR system. These physical objects are referred to herein as totems. Sometotems may take the form of inanimate objects, for example a piece ofmetal or plastic, a wall, a surface of table. Alternatively, some totemsmay take the form of animate objects, for example a hand of the user. Asdescribed herein, the totems may not actually have any physical inputstructures (e.g., keys, triggers, joystick, trackball, rocker switch).Instead, the totem may simply provide a physical surface, and the ARsystem may render a user interface so as to appear to a user to be onone or more surfaces of the totem. For example, the AR system may renderan image of a computer keyboard and trackpad to appear to reside on oneor more surfaces of a totem. For instance, the AR system may render avirtual computer keyboard and virtual trackpad to appear on a surface ofa thin rectangular plate of aluminum which serves as a totem. Therectangular plate does not itself have any physical keys or trackpad orsensors. However, the AR system may detect user manipulation orinteraction or touches with the rectangular plate as selections orinputs made via the virtual keyboard and/or virtual trackpad. The ARsystem may also include a user input device 504. The user input devicemay include a trackpad, a touchpad, a trigger, a joystick, a trackball,a rocker switch, a mouse, a keyboard, a multi-degree-of-freedomcontroller, or other physical input device. The user input device may beused in combination with the totem, body gestures, and eye gestures tointeract with the AR system and other users. The user input device 504can be in wired or wireless communication with the controller 210.

Examples of haptic devices and totems usable with the AR devices, HMD,and display systems of the present disclosure are described in U.S.Patent Publication No. 2015/0016777, which is incorporated by referenceherein in its entirety.

Example AR Systems, Environments, and Interfaces

An AR system may employ various mapping related techniques in order toachieve high depth of field in the rendered light fields. In mapping outthe virtual world, it is advantageous to know all the features andpoints in the real world to accurately portray virtual objects inrelation to the real world. To this end, field of view images capturedfrom users of the AR system can be added to a world map by including newpictures that convey information about various points and features ofthe real world. The AR system can collect a set of features (e.g., 2Dpoints) and map points (e.g., 3D points) and may also be able to findnew features and map points to render a more accurate version of theworld map. The world map of a first user can be communicated (e.g., overa network such as a cloud network) to a second user so that the seconduser can experience the world surrounding the first user.

FIG. 7 is a block diagram of an example of an AR environment 3000. TheAR environment 3000 is configured to receive input (e.g., visual input2202 from the user's wearable system, input from room cameras 2204,sensory input 2206 from various sensors, gestures, totems, eye tracking,user input from the user input device 504, etc.) from one or more ARsystems. The AR systems may comprise one or more user wearable systems(e.g., wearable display system 100) and/or stationary room systems(e.g., room cameras, etc.). The wearable AR systems not only provideimages from FOV cameras, they may also be equipped with various sensors(e.g., accelerometers, gyroscopes, temperature sensors, movementsensors, depth sensors, GPS sensors, etc.) to determine the location andvarious other attributes of the environment of the user. Thisinformation may further be supplemented with information from stationarycameras in the room that may provide images and/or various cues from adifferent point of view. The image data acquired by the cameras may bereduced to a set of mapping points.

One or more object recognizers 2208 can crawl through the received data(e.g., the collection of points) and recognize and/or map points, tagimages, attach semantic information to objects with the help of amapping database 2210. The mapping database may comprise various pointscollected over time and their corresponding objects. The various devicesand the map database can be connected to each other through a network(e.g., LAN, WAN, etc.) to access the cloud.

Based on this information and collection of points in the map database,the object recognizers 2208 a to 2208 n may recognize objects andsupplement this with semantic information to give life to the objects.For example, if the object recognizer recognizes a set of points to be adoor, the system may attach some semantic information (e.g., the doorhas a hinge and has a 90 degree movement about the hinge). If the objectrecognizer recognizes a set of points to be a mirror, the system mayattach semantic information that the mirror has a reflective surfacethat can reflect images of objects in the room. Over time the mapdatabase grows as the system (which may reside locally or may beaccessible through a wireless network) accumulates more data from theworld. Once the objects are recognized, the information may betransmitted to one or more user wearable systems 2220 a, 2220 b. Forexample, the AR environment 3000 may transmit information about a scenehappening in California to one or more users in New York. Based on datareceived from an FOV camera and other inputs, the object recognizers andother software components map the points collected from the variousimages, recognize objects etc., such that the scene may be accurately“passed over” to a second user, who may be in a different part of theworld. The environment 3000 may also use a topological map forlocalization purposes.

The object recognitions may be performed using a variety of computervision techniques. For example, the wearable system can analyze theimages acquired by the outward-facing imaging system 502 (shown in FIG.4) to perform scene reconstruction, event detection, video tracking,object recognition (e.g., persons or documents), object pose estimation,facial recognition (e.g., from a person in the environment or an imageon a document), learning, indexing, motion estimation, or image analysis(e.g., identifying indicia within documents such as photos, signatures,identification information, travel information, etc.), and so forth.

The object recognition may be performed with the inward facing imagingsystem 500 (shown in FIG. 4), 5060 (shown in FIG. 11), or 5060 a (shownin FIGS. 14A, 14B), which can be used to detect and track eye movements,glints from the eye (e.g., reflections of the IR LED 508, 508 a, 508 b),identify periocular features (e.g., eyebrows 5120 a, wrinkles 5160 a-d,glints 5170 a-d on an eye 5110 a, freckles 5180 a, upper corners 5190a-c of an eye 5110 a, shown in FIGS. 18A, 18B), calculate optical flowsof facial features (e.g., FIG. 18C), and so forth.

One or more computer vision algorithms may be used to perform theseobject recognition tasks. Non-limiting examples of computer visionalgorithms include: Scale-invariant feature transform (SIFT), speeded uprobust features (SURF), oriented FAST and rotated BRIEF (ORB), binaryrobust invariant scalable keypoints (BRISK), fast retina keypoint(FREAK), Viola-Jones algorithm, Eigenfaces approach, Lucas-Kanadealgorithm, Horn-Schunk algorithm, Mean-shift algorithm, visualsimultaneous location and mapping (vSLAM) techniques, a sequentialBayesian estimator (e.g., Kalman filter, extended Kalman filter, etc.),bundle adjustment, Adaptive thresholding (and other thresholdingtechniques), Iterative Closest Point (ICP), Semi Global Matching (SGM),Semi Global Block Matching (SGBM), Feature Point Histograms, variousmachine learning algorithms (such as e.g., support vector machine,k-nearest neighbors algorithm, Naive Bayes, neural network (includingconvolutional or deep neural networks), or other supervised/unsupervisedmodels, etc.), and so forth.

The object recognitions can additionally or alternatively be performedby a variety of machine learning algorithms. Once trained, the machinelearning algorithm can be stored by the HMD. Some examples of machinelearning algorithms can include supervised or non-supervised machinelearning algorithms, including regression algorithms (such as, forexample, Ordinary Least Squares Regression), instance-based algorithms(such as, for example, Learning Vector Quantization), decision treealgorithms (such as, for example, classification and regression trees),Bayesian algorithms (such as, for example, Naive Bayes), clusteringalgorithms (such as, for example, k-means clustering), association rulelearning algorithms (such as, for example, a-priori algorithms),artificial neural network algorithms (such as, for example, Perceptron),deep learning algorithms (such as, for example, Deep Boltzmann Machine,or deep neural network), dimensionality reduction algorithms (such as,for example, Principal Component Analysis), ensemble algorithms (suchas, for example, Stacked Generalization), and/or other machine learningalgorithms. In some embodiments, individual models can be customized forindividual data sets. For example, the wearable device can generate orstore a base model. The base model may be used as a starting point togenerate additional models specific to a data type (e.g., a particularuser in the telepresence session), a data set (e.g., a set of additionalimages obtained of the user in the telepresence session), conditionalsituations, or other variations. In some embodiments, the wearable HMDcan be configured to utilize a plurality of techniques to generatemodels for analysis of the aggregated data. Other techniques may includeusing pre-defined thresholds or data values.

FIG. 8 is a process flow diagram of an example of a method 3100 ofrendering virtual content in relation to recognized objects. The method3100 describes how a virtual scene may be represented to a user of theAR system (e.g., a wearable display system). The user may begeographically remote from the scene. For example, the user may be NewYork, but may want to view a scene that is presently going on inCalifornia, or may want to go on a walk with a friend who resides inCalifornia. At block 2302, the AR system may receive input from the userand other users regarding the environment of the user. This may beachieved through various input devices, and knowledge already possessedin the map database. The user's FOV camera, sensors, GPS, eye tracking,etc., convey information to the system (block 2302). The system may thendetermine sparse points based on this information (block 2304). Thesparse points may be used in determining pose data (e.g., head pose, eyepose, gestures) that can be used in displaying and understanding theorientation and position of various objects in the user's surroundings.The object recognizers 2208 a, 2208 n may crawl through these collectedpoints and recognize one or more objects using the map database 2210(block 2306). This information may then be conveyed to the user'sindividual AR system (block 2308), and the desired virtual scene may beaccordingly displayed to the user (block 2310). For example, the desiredvirtual scene (e.g., user in CA) may be displayed at the appropriateorientation, position, etc., in relation to the various objects andother surroundings of the user in New York.

FIG. 9 is a block diagram of another example of an AR system 3200. Inthis example, the system 3200 comprises a Map, which may include the mapdatabase 2210 containing map data for the world. In one embodiment itmay partly reside on user-wearable components, and may partly reside atnetworked storage locations accessible by wired or wireless network(e.g., in a cloud system). A Pose process may execute on the wearablecomputing architecture (e.g., processing module 71 or controller 210)and utilize data from the Map to determine position and orientation ofthe wearable computing hardware or user. Pose data may be computed fromdata collected on the fly as the user is experiencing the system andoperating in the world. The data may comprise images, data from sensors(such as inertial measurement devices, which generally compriseaccelerometer and gyroscope components) and surface informationpertinent to objects in the real or virtual environment.

A sparse point representation may be the output of a simultaneouslocalization and mapping (SLAM or V-SLAM, referring to a configurationwherein the input is images/visual only) process. The system can beconfigured to not only find out wherein the world the various componentsare, but what the world is made of. Pose is a building block thatachieves many goals, including populating the Map and using the datafrom the Map.

In one embodiment, a sparse point position may not be completelyadequate on its own, and further information may be needed to produce amultifocal virtual or augmented reality experience, which may also betermed Mixed Reality. Dense Representations, generally referring todepth map information, may be utilized to fill this gap at least inpart. Such information may be computed from a process referred to asStereo, wherein depth information is determined using a technique suchas triangulation or time-of-flight sensing. Image information and activepatterns (such as infrared patterns created using active projectors) mayserve as input to the Stereo process. A significant amount of depth mapinformation may be fused together, and some of this may be summarizedwith a surface representation. For example, mathematically definablesurfaces are efficient (e.g., relative to a large point cloud) anddigestible inputs to other processing devices like game engines. Thusthe output of the Stereo process (e.g., a depth map) may be combined inthe Fusion process. Pose may be an input to this Fusion process as well,and the output of Fusion becomes an input to populating the Map process.Sub-surfaces may connect with each other, such as in topographicalmapping, to form larger surfaces, and the Map becomes a large hybrid ofpoints and surfaces.

To resolve various aspects in a Mixed Reality process, various inputsmay be utilized. For example, in the embodiment depicted in FIG. 9, Gameparameters may be inputs to determine that the user of the system isplaying a monster battling game with one or more monsters at variouslocations, monsters dying or running away under various conditions (suchas if the user shoots the monster), walls or other objects at variouslocations, and the like. The Map may include information regarding wheresuch objects are relative to each other, to be another valuable input toMixed Reality. The input from the Map to the Mixed Reality process maybe called the “World Map”. Pose relative to the world becomes an inputas well and plays a key role to almost any interactive system.

Controls or inputs from the user are another input to the system 3200.As described herein, user inputs can include visual input, gestures,totems, audio input, sensory input, etc. In order to move around or playa game, for example, the user may need to instruct the system regardingwhat he or she wants to do. Beyond just moving oneself in space, thereare various forms of user controls that may be utilized. In oneembodiment, a totem, user input device, or object such as a gun may beheld by the user and tracked by the system. The system preferably willbe configured to know that the user is holding the item and understandwhat kind of interaction the user is having with the item (e.g., if thetotem or object is a gun, the system may be configured to understandlocation and orientation, as well as whether the user is clicking atrigger or other sensed button or element which may be equipped with asensor, such as an IMU, which may assist in determining what is goingon, even with such activity is not within the field of view of any ofthe cameras.)

Hand gesture tracking or recognition may also provide input information.The system 3200 may be configured to track and interpret hand gesturesfor button presses, for gesturing left or right, stop, grab, hold, etc.For example, in one configuration, maybe the user wants to flip throughemails or a calendar in a non-gaming environment, or do a “fist bump”with another person or player. The system may be configured to leveragea minimum amount of hand gesture, which may or may not be dynamic. Forexample, the gestures may be simple static gestures like open hand forstop, thumbs up for ok, thumbs down for not ok; or a hand flip right orleft or up/down for directional commands.

Eye tracking is another input (e.g., tracking where the user is lookingto control the display technology to render at a specific depth orrange). In one embodiment, vergence of the eyes may be determined usingtriangulation, and then using a vergence/accommodation model developedfor that particular person, accommodation may be determined.

With regard to the camera systems, the example system 3200 shown in FIG.9 can include three pairs of cameras: a relative wide field of view orpassive SLAM pair of cameras arranged to the sides of the user's face, adifferent pair of cameras oriented in front of the user to handle theStereo imaging process and also to capture hand gestures andtotem/object tracking in front of the user's face. The system caninclude an inward-facing imaging system (see, e.g., the imaging system500 shown in FIG. 4) oriented toward the eyes of the user in order totriangulate eye vectors and other information. The system may alsocomprise one or more textured light projectors (such as infrared (IR)projectors 508) to inject texture into a scene.

FIG. 10A is a process flow diagram of an example of a method 4100 forinteracting with a virtual user interface. At block 4102, the AR systemmay identify a particular UI. The type of UI may be predetermined by theuser. The system may identify that a particular UI needs to be populatedbased on a user input (e.g., gesture, visual data, audio data, sensorydata, direct command, etc.). At block 4104, the AR system may generatedata for the virtual UI. For example, data associated with the confines,general structure, shape of the UI etc. may be generated. In addition,the AR system may determine map coordinates of the user's physicallocation so that the AR system can display the UI in relation to theuser's physical location. For example, if the UI is body centric, the ARsystem may determine the coordinates of the user's physical stance, headpose, or eye pose such that a ring UI can be displayed around the useror a planar UI can be displayed on a wall or in front of the user. Ifthe UI is hand centric, the map coordinates of the user's hands may bedetermined. These map points may be derived through data receivedthrough the FOV cameras, sensory input, or any other type of collecteddata.

At block 4106, the AR system may send the data to the user's wearabledevice from the cloud. Or the data may be sent from a local database tothe display components. At block 4108, the UI is displayed to the userbased on the sent data. For example, a light field display can projectthe virtual UI into one or both of the user's eyes. Once the virtual UIhas been created, the AR system may simply wait for a command from theuser to generate more virtual content on the virtual UI at block 4110.For example, the UI may be a body centric ring around the user's body orplanar panels in front of or around the user. The AR system may thenwait for the command (a gesture, a head or eye movement, input from auser input device, etc.), and if it is recognized (block 4112), virtualcontent associated with the command may be displayed to the user (block4114). The virtual content can include an avatar representing theappearance of a wearer of the AR system. The facial expression of theavatar may be rendered to reflect the actual facial movements of thewearer. Some AR systems can utilize the techniques described herein toanimate facial expressions of the wearer's lower face (e.g., which isnot imaged by an inward-facing, eye-tracking camera of the AR system)based on analysis of images of the periocular region of the wearer'sface (e.g., taken by the inward-facing, eye-tracking camera(s)).

FIG. 10B depicts an example where two users of respective wearablesystems are conducting a telepresence session. Two users (named Alice912 and Bob 914 in this example) are shown in this figure. The two usersare wearing their respective wearable devices 902 and 904 which caninclude an HMD described with reference to FIG. 2 (e.g., the display 62of the system 100) or FIG. 11 for representing a virtual avatar of theother user in the telepresence session. The two users can conduct atelepresence session using the wearable device. Note that the verticalline in FIG. 10B separating the two users is intended to illustrate thatAlice 912 and Bob 914 may (but need not) be in two different locationswhile they communicate via telepresence (e.g., Alice may be inside heroffice in Atlanta while Bob is outdoors in Boston).

The wearable devices 902 and 904 may be in communication with each otheror with other user devices and computer systems. For example, Alice'swearable device 902 may be in communication with Bob's wearable device904, e.g., via a network. The wearable devices 902 and 904 can track theusers' environments and movements in the environments (e.g., via therespective outward-facing imaging system 502, or one or more locationsensors) and speech (e.g., via the respective audio sensor 69). Thewearable devices 902 and 904 can also track the users' eye movements orgaze based on data acquired by the inward-facing imaging system 500. Insome situations, the wearable device can also capture or track a user'sfacial expressions or other body movements (e.g., arm or leg movements)where a user is near a reflective surface and the outward-facing imagingsystem 502 can obtain reflected images of the user to observe the user'sfacial expressions or other body movements (e.g., during apersonalization session that will be described with reference to FIG.22).

A wearable device can use information acquired of a first user and theenvironment to animate a virtual avatar that will be rendered by asecond user's wearable device to create a tangible sense of presence ofthe first user in the second user's environment. For example, thewearable devices 902 and 904, the remote processing module 72, alone orin combination, may process Alice's images or movements for presentationby Bob's wearable device 904 or may process Bob's images or movementsfor presentation by Alice's wearable device 902. As further describedherein, the lower facial regions of the avatars can be rendered toreflect actual facial movements of Alice or Bob. For example, theinward-facing imaging system 500 can acquire images of the periocularregion (around the eyes), and the expression of the lower facial region(e.g., including the lips and mouth) can be determined from analysis ofthe periocular images. Accordingly, a full facial image of Alice or Bobcan be generated and used to render the respective avatar, so that thefacial expressions of Alice and Bob appear lifelike and realistic toeach other during the telepresence session.

Although the examples only refer to two users, the techniques describedherein should not be limited to two users. Multiple users (e.g., two,three, four, five, six, or more) using wearables (or other telepresencedevices) may participate in a telepresence session. A particular user'swearable device can present to that particular user the avatars of theother users during the telepresence session. Further, while the examplesin this figure show users as standing in an environment, the users arenot required to stand. Any of the users may stand, sit, kneel, lie down,walk or run, or be in any position or movement during a telepresencesession. The user may also be in a physical environment other thandescribed in examples herein. The users may be in separate environmentsor may be in the same environment while conducting the telepresencesession. Not all users are required to wear their respective HMDs in thetelepresence session. For example, Alice 912 may use other imageacquisition and display devices such as a webcam and computer screenwhile Bob 914 wears the wearable device 904.

Additional details relating to telepresence systems and utilizingmirrors to obtain images of a wearer of an AR device (see, e.g.,description of personalization with reference to FIG. 22 below) aredescribed in U.S. Patent Pub. No. 2017/0206691, which is herebyincorporated by reference herein in its entirety.

Additional examples of AR systems, UI, and user experiences (UX) aredescribed in U.S. Patent Publication No. 2015/0016777, which isincorporated by reference herein in its entirety.

Examples of a Wearable Device

FIG. 11 illustrates an example wearable device which can acquire imagesof a wearer's facial features. The wearable device may be a head-mounteddevice (HMD) that is configured to display AR, VR, and/or MR contents.The images acquired can include still images, individual frames from avideo, or a video.

The wearable device 5050 in FIG. 11 may be an embodiment of the displaysystem 100 described with reference to FIG. 2. The wearable device 5050can include an imaging system 5060 which can be configured to image theuser's 60 face. The imaging system 5060 may be an embodiment of theinward-facing imaging system 500 shown in FIG. 4. For example, theimaging system 5060 may include sensors such as eye cameras (eye camera5060 a and eye camera 5060 b) configured to image the periocular regionof the user's eyes 5010 while the user 60 is wearing the wearable device5050.

Each eye camera may have a field-of-view (FOV). For example, the FOV forthe eye camera 5060 a can include the region 5020 a and the region 5030.The FOV for the eye camera 5060 b can include the region 5020 b and theregion 5030. The FOV of the eye camera 5060 a and the FOV of the eyecamera 5060 b may overlap at the region 5030. The eye camera may be anET camera (eye-tracking camera).

As shown in FIG. 11, the imaging system 5060 points toward the head ofthe user 60. The eye camera 5060 a may be configured to image the eye5010 a while the eye camera 5060 b may be configured to image the eye5010 b. In this figure, the optical axis 5040 a of the eye camera 5060 ais parallel to the optical axis 5040 b of the eye camera 5060 b.

In some implementations, one or both of the eye cameras may be rotatedsuch that the optical axes of the two eye cameras are no longer inparallel. For example, the two eye cameras may point slightly towardseach other. This implementation may be advantageous because it cancreate a cross eyed configuration which can increase the overlap of theFOV between the two cameras as well as to allow the two eye cameras toimage the face at a closer distance.

Although the example described in FIG. 11 illustrates two eye cameras,wearable device 5050 is not required to have two eye cameras. In someembodiments, the imaging system 5060 may include one eye camera imagingthe periocular region of the user's face. The one eye camera may beconfigured to image one eye or both eyes. In other embodiments, thewearable device 5050 may include more than two eye cameras, where one ormore of the eye cameras may have an overlapping FOV.

In some embodiments, the wearable device 5050 may also include one ormore microphones 69 (at least two microphones if stereo/shaping of audioinputs,), one or more IR LEDs 508 a and 508 b, or one or morephotoreflective sensors 67 a and 67 b. The photoreflective sensors maybe coupled to the frame 64 and positioned toward the user inside thecurvature of the frame 64. The photoreflective sensors can observe theamount of light reflected from the skin and detect changes in lightintensity received. When photoreflective sensors measure light intensityin a facial region with known amount of provided light (e.g., from theIR LEDs 508 a and 508 b), changes in the light intensity can indicatechanges in distance from the photoreflective sensors. In other words,the photoreflective sensor measurements can be used to determinedistance from fixed components (e.g., ET camera) in the HMD to the skin.The change in distance in turn can indicate changes of facial featuresin relation to changes in facial expressions. The inward-facing imagingsystems 500 (shown in FIG. 2) captures images of periocular regions, asdiscussed in the next section.

In some embodiments, the wearable device 5050 includes one or moreelectrooculography (EOG) sensors 70 coupled to the frame near thenosepiece to provide the wearable device with measurements of thecorneo-retinal standing potential (which provides information on eyemovements) that exists between the front and the back of the human eye.The EOG sensor can provide electrophyisiological measurements of musclesaround the eye, and these measurements can be used to determinemovements of the skin near the eye(s).

Examples of a Periocular Region

The periocular region can include the eyes and the regions around theeyes. FIG. 12A illustrates an example image of a periocular region forone eye. In this example, the periocular region 5100 a can include aneye 5110 a (such as an eye socket) and a region 5111 a around the eye5110 a. The periocular region 5110 a may include, for example, aneyebrow 5120 a, portions of the nose 5130 a, cheek 5140 a, and forehead5150 a. The periocular region, however, may exclude the mouth or theportion of the nose that is far away from the eye. There are variousfeatures in the periocular region 5100 a that may be of interest to thesystem, including muscles (not shown), eyebrows 5120 a, wrinkles 5160a-d, glints 5170 a-d on an eye 5110 a, freckles 5180 a, upper corners5190 a-c of an eye 5110 a, or other features. These features may beextracted (e.g., via the object recognizers 2208 a-2208 n) and processedto indicate changes in facial expressions, singularly or in combinationwith other features. In some implementations, the periocular region maybe represented by key points, point clouds, vectors, matrices, or othertypes of mathematical representations.

With reference to FIGS. 12A and 12B, an upper periocular regiongenerally refers to the above-the-pupil portion of the periocular region5100 a including upper eyelid, eyebrow 5120 a and upper patches 5190a-c, while a lower periocular region generally refers to below-the-pupilportion of the periocular region 5100 a including lower eyelid.

The portion of the periocular region captured by an eye camera maydepend on the eye camera's FOV or the distance of the frame 64 of thewearable device 5050 from the face of the wearer 60. For a tightlyfitting device, the eye camera is closer to the face and the FOV of thecamera may be smaller than for a more loosely fitting device, where theframe 64 is farther away from the face of the wearer 60. In someimplementations, the eye camera may not have a large FOV to capture theentire periocular region. As FIG. 12B illustrates, depending on thescope of FOV, some of the above features shown in FIG. 12A may not bevisible. For example, when a narrower periocular region 5100 a isobserved by ET camera 5060 a, which may be the result of a tighter fitof the wearable device on the user (compared to the looser fitillustrated in FIG. 12A) or a more closely positioned ET camera, some ofthe features previously available may have been excluded. Such excludedfeatures from the tight fit might be the forehead 5150 a, eyebrow 5120a, eyebrow wrinkles 5160 c, forehead wrinkles 5160 d, portions of thenose 5130, etc. According to certain embodiments, the FOV of the ETcamera is selected so that the eye camera images an eye 5110 a and itssurroundings (e.g., periocular region). The wearable display system 100may flexibly adjust the scope of periocular region observed based on theobserved area and visible features. As described herein, conformationsof the eye and the surroundings taken together may provide significantindicators of the changes in facial expressions of the observed user.

Examples of Associations in Changes in Periocular Region and FacialExpressions

In the contexts of face recognition, synthesis, and rendering, the humanface may be represented using 3D modeling techniques, such as triangularmeshes, parametric surfaces, linear space representations, or othermathematical representations. As one example, the 3D model may be builtusing a deformable linear model (DLM). The DLM can encode the state ofdeformations of the face with a list of vectors. The deformation vectorsmay be associated with a neutral face, making a nose bigger, making amouth narrower, or making a face more feminine, etc. The deformationvectors may also be associated with changes in facial expressions fromsmiling, scowling, or frowning, etc. Given the strength of the changesin facial features (such as laughing out loud or gently smiling), thedeformation vectors may be scaled by a strength value relative to theneutral face mesh. For example, the strength value may be bigger if theperson laughs out loud because the person may have more facial movementsand therefore bigger deformation with respect to the neutral face. Onthe other hand, the strength value may be smaller if the person smilesgently because there may not be many facial movements. Although DLMmodels can be used, the present disclosure is not limited to DLM models,and in other embodiments, active shape models (ASM), active appearancemodels (AAM), morphable models (M), or any other two-dimensional (2D) or3D shape or texture model may be used.

A portion of the face model may describe features in the lower face ofthe user such as jaw shapes, jaw movements, etc. The conformations ofthe lower face in the face model may change as the user interacts withone or more people or various content in the AR environment. Forexample, when a user intently focuses in the interactions, the user'slip often stretches. When a user has encountered something unexpected,the user's mouth may open aghast to show surprise. When a user isskeptical of the received information, the user's lips may tighten(e.g., become pursed). The lower face conformations may vary in degreesdepending on the expression or expressiveness. For example, a content orsatisfied user may display a grin whereas an excited user may display agrin with an open mouth.

These natural expressions or reactions are often expressed with thewhole face and such lower face conformations may be associated withchanges in other parts of the face. One such other part of the face isthe periocular region. For example, the intent focusing which manifestswith stretched lips of the lower face conformation may also manifestitself with squinting of the eyes. An encounter of something unexpectedmay manifest with wide opening of the mouth and the eyes. Thus, theperiocular region may provide valuable cues in distinguishingsatisfaction from excitement by observing and detecting changes in cheekmuscles (e.g., a grin from satisfaction may not stretch those muscleswhile excitement does). For example, skepticism may be associated withthe center of the eyebrows moving lower and toward center, not unlikeforming a frown. However, skepticism and a frown may be distinguishedbased on the fact that skepticism may manifest by having one eyebrowadjustment showing greater positional displacement than that of theother eyebrow adjustment, whereas a frown may not. As yet anotherexample, satisfaction, which may be manifest with a lower faceconformation including a grin, may also be manifest with a lower portionof the eye corner moving up slightly while excitement may be manifest bythe lower portion of the eye corner moving up in greater extent. In someinstances, facial expressions may be differentiated by degrees ofchanges. For example, laughter may be distinguished from a simple grinbased on greater muscle and eye shape changes associated with laughter.

As described with reference to FIG. 12A and 12B, the periocular regionincludes various features including eyebrows, freckles, and wrinkles.Muscles and muscle flow may be observed by themselves or additionallythrough movements of features such as freckles and wrinkles. Varioussensors described with regard to FIG. 2 and FIG. 11 may obtaininformation related to such periocular features, object recognizers cananalyze the sensor data and extract information of such periocularfeatures, and provide the imaging system 500 with accurate associationsbetween the changes of periocular region and the lower faceconformations. The list of features and observing sensors are not to beconsidered limiting but may be expanded as deemed necessary to increaseaccuracy and precision of such associations.

As described herein, although the HMD may not be able to obtain all ofthe updates in the facial expressions of the user by direct measurementwhen the user is wearing an HMD (e.g., because an inward-facing ETcamera typically cannot image the lower face such as, e.g., the regionbelow the periocular region), the HMD can use an inward-facing imagingsystem 500 to observe the user's periocular features and infer changesin other regions. As further described with reference to FIGS. 22 and24, the HMD can use a machine learning derived model to map the observedperiocular features with parameters for the lower face. These upper andlower face parameters, together with the parameters derived from theperiocular images, may be used to synthesize a full face image of theuser.

Example System Overview

FIG. 13 illustrates an overview of an example system 1300 configured toinfer facial expressions of an avatar from various sensor inputs. Thesystem can correlate various feature changes of the periocular regionwith changes of lower face conformation. With various observations anddetections made by the various sensor components included in thewearable device 5050, the wearable display system 100 perceives variousaspects of the user in real-time. For example, the left eye camera 5060b and right eye camera 5060 a can observe the periocular regions 5100a-b of the user's face, respectively. The example system 1300 isintended to be illustrative and not to limit the scope of the facialexpression inference technology described herein.

The wearable device 5050 provides the periocular features extracted fromthe region to an avatar behavior detection engine 1310, which mayperform temporal or expression consistency checks. An example oftemporal consistency check may include comparing previous frames (e.g.,image frames from the cameras) and a time history of extracted/processedfeatures with real-time extracted features to determine whether there isa consistent change toward or away from the user's identifiedexpression. An example of expression consistency may include whether theextracted features are in line with known features of the user accordingto the user's profile, face model, context, and/or content. Accordingly,the avatar behavior detection engine 1310 can provide robust andreal-time assurance of fidelity of behavior measurement. The avatarbehavior detection engine 1310 can be implemented by a hardwareprocessor and non-transitory memory, such as in the local processing anddata module 71 or the remote processing module 72 and remote datarepository 74.

The engine 1310 may also perform additional behavior checks with inputsprovided from other sensors, such as headpose 1302 (detected with IMUs),gestures 1304, totems 1306, and/or other sensors including microphone 69and EOG sensors 70. In some embodiments, one or more microphones 69 maypick up voice of the user and determine that the user is incommunication with another party. In one instance, the avatar behaviordetection engine 1310 may determine that the voice input was a growl andthe observed squinting of the eyes is consistent with the growl. Inanother instance, the engine 1310 may determine that the voice input islaughter and thus is inconsistent with the squinting of the eyes. Whensuch inconsistency is found, the engine 1310 may resolve inconsistenciesby employing various schemes and structures prioritizing one behaviorconstruction over another to provide consistency.

Once the avatar behavior detection engine 1310 determines proper avatarbehavior, the avatar facial expression engine 1320 may generate visuals(or, where only facial parameters are transferred to another party'sdisplay device, generate visual facial parameters) of the user avatar bysynthesizing periocular features with lower face conformation for fullexpressions. The avatar expression engine 1320 may ensure fidelity ofthe visuals by, for example, making ensuring adequate translation ofsignals and transitions into blendshapes (allowing a single mesh todeform to achieve numerous pre-defined shapes and any number ofcombinations of in-between these shapes, such as morphing a neutral facemodel to accurately reflect detected facial expressions). The avatarfacial expression engine 1320 can be implemented by a hardware processorand non-transitory memory, such as in the local processing and datamodule 71 or the remote processing module 72 and remote data repository74.

Examples of Determining Fit of HMD: Scope of Periocular Region

FIG. 14A-14B illustrate examples of HMDs (e.g., the wearable device5050) that are fit loosely or tightly, respectively, on a wearer. FIG.14A illustrates an example of a loosely fitting device 1400. The frame64 and the display 62 are positioned such that the ET camera 5060 a hasa wider FOV (shown by dashed lines 1460 a) of the periocular region 5100a. One or more IR LEDs 508 a and 508 b are positioned such that they areinward-facing toward the periocular region. Generally, when an HMD isloosely fitting, eyebrow movements do not move (e.g., raise or lower)the HMD significantly. Accordingly, the ET camera 5060 a ‘sees’ a widerrange of the periocular region (e.g., have wider FOV) for the looselyfitting device and the eyelids may be observed.

In contrast, FIG. 14B illustrates an example of a tightly fitting device1450. The frame 64 and the display 62 are positioned such that the ETcamera 5060 a has a narrower FOV (shown by dashed lines 1460 b) of theperiocular region 5100 a. Generally, when an HMD is tightly fitting,eyebrow raises lift up the HMD and the eyebrow lowering moves the HMDback to its original neutral position. The ET camera 5060 a ‘sees’ anarrower range of the periocular region (e.g., smaller FOV compared to aloose fit), and is more focused on the eye and only little area aroundit, possibly to the exclusion of an eyebrow.

As can be seen from FIGS. 14A and 14B, the display 62 of a tightlyfitting device is closer to the user's face than the display in aloosely fitting device. Whether device fit is loose or tight can bedetermined in various ways. For example, an IMU on the device can detectwhether the HMD moves up and down in parallel to up and down movementsof the eyebrow, which would indicate a tight fit. If no such devicemovement is detected (when the eyebrows move), the HMD can determine thefit is loose. As another example, whether the HMD has a tight or loosefit can be determined by measurement of the size of the FOV of the eyetracking cameras 5060 a. For example, the FOV can include the eye andeyelids for a loose fit, but the FOV can include the eye but little ofthe surrounding region for a tight fit. In various embodiments, atightly fitting display is in a range from 0.5 cm to 1.5 cm from thewearer's face (e.g., between an inner surface of the display and thefront of an eyeball), and a loosely fitting display is in a range from1.5 cm to 5 cm from the wearer's face (e.g., between an inner surface ofthe display and the front of an eyeball). As described herein, thedistance between the device and the face can be measured, e.g., withphotoreflective sensors or eye-tracking camera measurements ofreflectivity of an IR LED.

A fit level of the HMD, whether it is loose or tight, may be determinedby the system at initial configuration or in run-time. FIG. 15illustrates an example process flow diagram of an example method 1500for determining a fit level of the HMD. The method 1500 can beimplemented by a hardware processor and non-transitory memory, such asin the local processing and data module 71 or the remote processingmodule 72 and remote data repository 74.

Block 1502 is the start of the method 1500. At block 1504, the systeminitializes one or more eye tracking cameras 5060 a-b. At block 1506, ifuser-specific data exists and the user can be identified, the systemretrieves calibration data for a specific user. At block 1508, the ETcamera 5060 a obtains one or more images of a periocular region of aneye of the user.

At block 1510, the system extracts pupil-glint information. Thepupil-glints (shown in FIG. 12A-12B, 5170 a-d) are corneal reflectionsof light sources (e.g., an IR light source, such as IR LED 508, 508 a,508 b directed toward the eye), which may provide information on thedirection a user is gazing. In some embodiments, the gaze tracking withpupil-glints may provide information on the boundaries of the gaze(e.g., extent of eye movements) that is helpful in determining a fitlevel. In other words, where the boundary of the gaze is restricted to asmaller area, it may indicate a tight fit and where the boundary of thegaze is restricted to a larger area, it may indicate a loose fit. Insome instances, the association between gazes and resulting movements(e.g., raise or lowering) of the HMD may indicate a fit level. Forexample, full gaze movements with small or no HMD movement may indicatea loose fit, whereas full gaze movements with a measurable amount ofcorresponding HMD movement (e.g., than about 1 mm, 2 mm, or more) mayindicate a tight fit level. In some embodiments, the locations of thepupil-glint itself may be helpful in the determination of a fit in a waythat locations of the glints are compared against expected locations ofthe glints for a tight or loose fit.

In some embodiments, one or more electrooculography (EOG) sensors 70(e.g., shown in FIG. 2 or FIG. 11) may supplement or replace glint-basedeye movement tracking of ET cameras 5060 a-b and provide eye movementinformation. The EOG sensors measure the corneo-retinal standingpotential that exists between the front and the back of the human eye,which provides accurate information of eye movements.

At block 1512, based on the above described observations, a fit level isdetermined. At block 1514, if the determined fit in block 1512 is aloose fit, the system executes block 1518 procedures related to loosefit upper periocular region event detection (e.g., further describedwith reference to FIGS. 18A-18B and 19). If the determined fit is atight fit, the system instead proceeds to block 1516 to executeprocedures related to tight fit upper periocular region event detection(e.g., further described with reference to FIGS. 16A-16C and 17). Atblock 1520, the system executes lower face event detection (e.g.,further described with reference to FIG. 19).

At block 1522, the system synthesizes upper periocular region event andlower face event to generate facial expressions for at least a portionof the face. In some implementations, the method calculates action units(AU) of a facial taxonomy system (such as, e.g., the facial actioncoding system (FACS)). For example, FACS classifies observable facialexpressions based on the appearance of a person's face by decomposingthe facial expressions into isolated muscle contractions or relaxations.Each isolated muscle contraction or relaxation of FACS is associatedwith a numerical representation, referred to as an Action Unit (AU). TheFACS AUs can be used by the avatar behavior detection engine 1310 or theavatar expression engine 1320 to generate a facial image used forrendering an avatar. In some cases, the FACS AUs can be used to generateblendshapes that are used to render or morph a facial image.

The method 1500 then returns to obtain new periocular images (if any) atblock 1508. The tight fit upper periocular region event detection 1506and loose fit upper periocular region event detection 1508 are furtherdescribed in the following sections.

Examples of Tight Fit Periocular Region Movement Detection

FIGS. 16A-16C illustrate example observations of upper periocular regionmovements in a tightly fitting device. Observations such as these can beused to determine movement of the eyebrow. A tightly fitting device isgenerally positioned closer to the face of the user (as illustrated inFIG. 14B) and provides for a narrower FOV (as illustrated in FIG. 12B).Generally, the whole of the tightly fitting device moves upward wheneyebrows are raised, resulting in a displacement of the whole cameraimage obtained by the ET cameras 5060 a-b. Conversely, the whole of thedevice moves downward when eyebrows are lowered. The displacement of thewhole camera image is reflected in the position of eyes and pupil-glintsobserved from the eyes. FIG. 16A illustrates such displacement of eyes1604 and 1606 compared to a reference line 1602. The reference line 1602can be defined as between left and right pupil centers when the eyes arein a relaxed position, looking straight forward.

In some embodiments, the position of each of the eyes may be representedby a respective vertical eye center (VEC). FIG. 16B shows example imagesof pupils with pupil-glints 5190 a-d (the right image is an inverseimage that highlights the pupil-glints). Various methods may be employedto define and determine the VEC. For example, extracting the cornerpoints of an observed eye and connecting the corner points can identifya VEC. Another method may be forming crossing lines with pupil-glintpairs 5170 a and 5170 c, and 5170 b and 5170 d, and identifying a pointwhere the lines cross, which may be utilized as a VEC. Other methods mayalso be available and those methods may be used alone or in combinationdepending on the accuracy and precision of the results.

FIG. 16C is a graph that shows an example of a determination of VEC as afunction of time. On the X-axis is a frame count (or time) and on theY-axis is a VEC value 1610. In some embodiments, the VEC value may becalculated in coordinates of the ET camera 5060 a (e.g., pixels). Fromleft to right, the graph depicts the VEC rising from a neutral position,peaking, falling, and returning to the neutral position. The system canidentify an eyebrow raise event as corresponding to the times duringwhich the VEC exceeds a threshold 1608. In the example shown in FIG.16C, the eyebrow was raised between frame (or time) 1612 and frame (ortime) 1614. The threshold 1608 can be set so that minor movements ornoise do not trigger the system to infer an eyebrow raise. For example,the threshold can be set to any suitable number, for example 50% of thetotal VEC movement (e.g., in FIG. 16C, the total VEC movement is about200 pixels and the threshold is about 100 pixels above the neutralposition (at about 175 pixels)). Some systems may prefer to err on theside of detecting potentially more false positives, and hence may choosea threshold between 0 and 50%. Other systems may prefer to err on theside of fewer false positives, and hence may choose a threshold above50%. As described, the wearable display system 100 may perform atemporal consistency check to remove any false positive eyebrow raises.For example, an eyebrow raise may be identified only if VEC exceeds thethreshold 1608 for greater than a threshold number of frames (or athreshold time period), which may advantageously reduce false positivesthat are due to noise or very minor facial fluctuations. The VECmovement can, in some cases, be measured during an eye blink so thatinterpolation or other corrective measures for eye blink may not beneeded.

FIG. 17 is a process flow diagram for an example method for detecting anupper periocular region event (e.g., an eyebrow raise event) for a tightfitting device. Block 1702 is the start of the process 1700. At block1704, the ET camera 5060 a obtains one or more images of a periocularregion of an eye (left or right). At block 1706, the system extracts eyecorners from the obtained periocular images. At block 1708, the systemmay initiate calculation of the VEC, for example, by connecting theextracted eye corners with a line.

At block 1710, the VEC is compared against a threshold to determinewhether an eyebrow raise event is detected. The threshold may becalculated when a user puts the device on, or can be adjusted when thesystem detects device adjustments or removal. If the VEC is less than(or equal to) the threshold (which indicates the eyebrow has not beenraised), the system may proceed back to block 1704 to read subsequentperiocular images. If the VEC is greater than the threshold, the systemproceeds to block 1712.

At block 1712, the system estimates the eyebrow raise height. Forexample, with reference to FIG. 16C, the eyebrow raise height can be thedifference in VEC values between the peak of the curve 1610 and theneutral VEC position. The system can determine a duration of eyebrowraise, such as the time difference between points 1614 and 1612. In someembodiments, a maximum eyebrow raise height is measured and stored toaccount for individual user differences. The eyebrow raise height may beestimated in strength with a percentage value ranging from 0% to 100%above the threshold (or above the neutral position) to the maximum.

In some embodiments, the system may estimate the eyebrow raise heightbefore the eyebrow raise height reaches an apex of the VEC valueassociated with the eyebrow raise event. For example, the system maydetermine that a change in VEC value matches, for example, the first 50%of a previous eyebrow raise profile and return an estimation of aneyebrow raise height before the entire period of the eyebrow raiseevent. The eyebrow raise height may be estimated before or after the VECvalue returns to neutral. Thus, embodiments of the system can determinean eyebrow raise event without measuring VEC throughout the entireeyebrow raise event. Other raise height estimation methods may beemployed.

At block 1714, the system may perform various additional processing toenhance consistency or fidelity of the estimated eyebrow raise event.For example, the system may interpolate through any missing values (e.g.during blink events), which may be implemented with allowance of somemaximum number of missing frames, such as 3. In some embodiments, thesystem may conduct a temporal consistency check that expects acontinuous raise until an apex point and then a continuous decline. Inaddition, the system may account for unreasonable outliers, such as byterminating the eyebrow event when the event exceeds a threshold time(e.g., if the eyebrow is raised for over 2 seconds, 5 seconds, etc.).Once block 1714 is completed, the block may output information relatedto an occurrence of eyebrow raise (e.g., a Boolean value as to whetheran eyebrow raise occurred) event or strength of the raise beforereturning to block 1704 for another iteration of the event detectionprocess. The process flow illustrated may run in parallel for the leftand right eyes, providing for independent detection of eyebrow raiseevents for each eye (since eyebrows can be raised independently).

Examples of Loose Fit Upper Periocular Region Movement Detection

As described above, for loose fitting devices (which are positionedfarther away from the user as shown in FIG. 14A), the device itselftypically does not move during an eyebrow raise event. The techniquesdescribed with reference to FIGS. 16A-17 may not permit reliable oraccurate detection of an eyebrow raise for loosely fitting devices.

FIGS. 18A and 18B schematically illustrate examples of detection ofupper periocular region movements in a loosely fitting device.Generally, the distance between the skin and the device changes withmuscle stretches and compressions. FIG. 18A illustrates a periocularregion with a neutral eyebrow position. FIG. 18A shows examples of threepatches 5190 a-5190 c in the inner, mid, and outer portions of the upperperiocular region to provide for detection of the eyebrow raise event.In other embodiments, more or less patches may be utilized and thepatches may be at other locations. For example, five patches may be usedthat are closer to the pupil along the upper portion of the eye corner.Additional examples of patches are described with reference to FIGS.20A-20D.

Due to the external and fixed illumination of the eye tracking system500 (e.g., the IR LEDs 508 a, 508 b), the average intensity of lightreflected from an associated patch may be a good indicator for thedistance from the ET camera 5060 a to the skin. Each patch may include apixel matrix (e.g., 5×5 pixels) and have associated values representinglight intensity reflected from the patches (e.g., 0 to 255 with 0representing black and 255 representing white). An average intensityvalue of the pixel matrix (e.g., an average (weighted or otherwise) ofthe 25 pixels for a 5×5 matrix) can be calculated by the system. Thesystem can track the average intensity of the pixel patches over timeand from movements of the patches (e.g., an optical flow), the systemcan determine an eyebrow raise event and which parts of the eyebrow arebeing raised (e.g., from the optical flows of the inner, mid, and outerpatches).

FIG. 18B illustrates an example of a periocular region with a raisedeyebrow position. Here, the raised eyebrow position causes the threepatches to return different patch intensities as compared to the patchintensities from the eyebrow position shown in FIG. 18A.

Additionally, the system may capture the upward (or downward) movementof the eyebrow as an optical flow. FIG. 18C illustrates an example ofoptical flows 5191 a-5191 c in which the patches move from a startingpositions 5190 a, 5190 b, 5190 c (shown in dashed lines) to endingpositions 5190 a′, 5190 b′, 5190 c′ respectively (shown in solid lines).By measuring (e.g., with an eye tracking camera) the reflectivity of thepatches during this movement, the system can determine the path (anddirection) of an optical flow 5192 a, 5192 b, 5192 c for each of thesepatches and thereby determine the occurrence or extent of the movementof the wearer's skin during an eyebrow raise or lowering event. Invarious embodiments, the system may determine the full path of theoptical flow or a series of points along the flow path (e.g., possiblyonly the starting and ending positions). The system may determine aspeed or velocity (speed and direction) of the optical flow along any ofthe paths 5192 a-5192 c.

Although FIG. 18C illustrates an example of optical flows in the upperperiocular region, this is not a limitation. An optical flow may bedetected for any part of the observed periocular region 5100 a includingthe lower periocular region. FIG. 18C illustrates optical flowsassociated with three patches, however, the underlying facial featurefor the detection of optical flow can also be a muscle feature or afacial feature (e.g., wrinkles shown in patch 5190 c′). In someembodiments, optical flow may also be detected for movement ofnon-visible features, such movement associated with heat as detectedwith infrared sensors. Additionally, optical flows can be detected for aloosely fitting or a tightly fitting device.

In some embodiments, other features of the periocular region may provideadditional cues for the event detection. For example, the system may useobject recognizers to extract positions or optical flows of wrinkles,blemishes, etc. around the eye corners (e.g., via Gabor filtering) andanalyze whether the changes in the wrinkle, blemish, etc. positionsindicate an event occurrence.

FIG. 19 is a process flow diagram of an example of a process 1900 fordetecting upper periocular region events. Block 1902 is the start of theprocess 1900. At block 1904, the ET camera 5060 a obtains one or moreimages of a periocular region of an eye (left or right). At block 1906,the system extracts eye corners and/or eye shape from the obtainedperiocular images.

At block 1908, the system extracts information on the patches 5190a-5190 c from the images as described with reference to FIGS. 18A-18C.At block 1910, the system estimates optical flow of the upper periocularregion from the movements of the patches (see, e.g., FIG. 18C). At block1912, the system estimates photometric intensities of the patches. Asdescribed, the intensity may be an average intensity of the pixels inthe patches. Where there is restricted illumination, such as theillumination HMD provides with its inward-facing IR LEDs 508 a, 508 bwhile worn, the intensity may be a good measure of distance from the ETcamera 5060 a to the skin.

At block 1914, the system may compare the estimated intensity of a patchto a threshold intensity. The comparison to the threshold intensity andestimation of intensity value is further described in relation to FIG.21A-21D. If the intensity is less than (or equal to) the thresholdintensity, the patch has not been detected for some reason, and thesystem returns to block 1904 to read subsequent images. At block 1916,if the intensity is greater than the threshold intensity, then thesystem may perform additional procedures before proceeding to block1918. Such procedures may include interpolating missing values toaccount for blink events (e.g., allowing for a maximum of up to 3 framesfor the blink, where data may be missing or not acquired) or conductinga temporal consistency check for continuous brow movements. For example,for a consistent upward motion of the brow, the system can check whetherthere is a substantially continuous movement of the patch in onedirection until an apex is reached followed by a substantiallycontinuous movement back to the neutral position.

If the temporal consistency of the movement is confirmed at block 1916,at block 1918, the system maps a direction of the optical flow (e.g.,upward or downward) and determines an occurrence or strength of theeyebrow raise event. For example, the strength of the eyebrow raise mayreflect how far a portion of the eyebrow moved. As described withreference to FIG. 17 the eyebrow raise height may be estimated instrength with percentage value ranging from 0% to 100% above thethreshold (or above the neutral position) to the maximum. The system mayutilize a plurality of patches (e.g., 3 or more) disposed across thelength of the eyebrow (e.g., as shown in FIGS. 18A-18C) to determinewith granularity the amount or strength of eyebrow raise for multipleportions of the eye, e.g., for inner, mid, and outer brow portions.

The mapping generated at block 1918 may include a probabilistic estimatefor corresponding face parameters of the lower face. The lower face mayinclude the regions below the periocular region(s) that are shown in theperiocular images. The lower face may include the nose, lips, cheeks,and jaw regions. For example, the wearable device may select the mostlikely face parameters based on the temporal consistency check (block1916) or from input from other sensors such as audio input,physiological data (such as pupil dilation state, heart rate, etc.), EOGdata, and so on, alone or in combination. For example, audio input froma microphone may indicate the user is laughing, and the audio input canbe combined with the estimates from the periocular imaging to provide amore likely lower face representation.

In some embodiments, other features of the periocular region may provideadditional cues for the event detection. For example, the system may useobject recognizers to extract positions or optical flows of wrinkles,blemishes, etc. around the eye corners (e.g., via Gabor filtering) andanalyze whether the changes in the wrinkle, blemish, etc. positionsindicate an event occurrence.

The system may output or store an event matrix describing properties ofthe eyebrow raise event. For example, the event matrix can comprise ann×3 matrix (where n is the number of patches) with the first columnidentifying the patch number (from 1 to n), the second column includingan occurrence indicator for the patch (e.g., a Boolean such as 0 or N(o)for no raise and 1 or Y(es) for a raise), and a third column includingthe strength of the raise for that patch.

Examples of Lower Face Event Detection

As described above, the distance of the skin to the HMD changes withmuscle contraction. Muscle flow directions provide significant cues fordetecting expressions of the face.

FIG. 20A-20D illustrate example periocular images showing musclecontraction of a right eye before (FIGS. 20A, 20B) and while smiling(FIGS. 20C, 20D). FIGS. 20A and 20C show eye camera images, and FIGS.20B and 20D show thresholded eye camera images. The images show patches2302 a, 2302 b near the lower portion of the eye. The patches arelocated asymmetrically along the arc of the eye. Photometric comparisonof the images before (FIGS. 20A, 20B) to those while smiling (FIGS. 20C,20D) show the changes in the patch reflectivities, which areparticularly apparent in the difference between the threshold images(FIGS. 20B, 20D).

In some embodiments, the photoreflective sensors (illustrated in FIG.11, 67 a, 67 b) may supplement or replace the intensity measurement bythe eye tracking cameras 5060 a, 5060 b. The photoreflective sensors aregenerally inexpensive and good at detecting light intensity fordetermination of proximity. The photoreflective sensors may provideadditional cross checking of the eye tracking camera's patch-basedintensity detection or replace the patch-based intensity detectionaltogether.

FIG. 21 is a process flow diagram of an example method 2100 forinferring lower face events with changes in periocular images. Blocks2102-2116 are generally similar to corresponding blocks 1902-1916 of themethod 1900 described with reference to FIG. 19 and will not be furtherdescribed herein.

At block 2118, the system performs a cross eye check. Generally, forlower face conformation, outputs generated from the analysis ofperiocular regions of each eye are expected to be consistent with eachother. For example, a smile is generally detected from both left andright eyes reporting lifting of the periocular regions and not just oneeye lifting its associated periocular region. When each periocularregion analysis reports a different lower face conformation, variousmethods may be employed to resolve the difference. For example, when thedifference is small, the results for the left and right eyes may beaveraged to provide an average lower face conformation. Additionally oralternatively, the system may assign a higher priority to the strongerreadings (based on intensity of the patches or some other metrics). Insome instances, the system may reject both determinations and return toblock 2104 to read additional eye images.

At block 2120, the system maps direction of optical flow and intensityof the patches to a lower face event by leveraging a mapping table or amodel of facial conformation. Examples of training a personalized modelare described with reference to FIG. 23. The model may also comprise apre-trained model based on machine learning applied to a wide range offacial conformations from a population of individuals. In some cases,the mapping table is based on FACS AUs that taxonomizes facialmovements. In some implementations, the system may use a mapping from afacial expression (e.g., group of FACS AUs) to a corresponding emotion(e.g., happy, sad, etc.). The system may thus determine an emotion thewearer may be experiencing based on analysis of periocular images.

The lower face conformation provided by block 2120 may be checked withuser data collected with other sensors to reduce false positives. Forexample, as described above, the system may extract wrinkles (or otherfacial features) around the eye corners via Gabor filtering and checkwhether the wrinkles (or other facial features) have displayed changesin conformance with the intensity changes. The system may analyze somepast duration of audio observations (such as last 30 seconds) obtainedfrom one or more microphones 69 to determine a baseline mood of thewearer and use this audio data to modify or update the mapping result.For example, when audio data informs of a jovial mood, the system mayadjust the resulting facial expressions to reflect the jovial mood.Alternatively, when an audio data informs of a lot of shouting, thesystem may adjust the resulting facial expressions to reflect tensefacial features. Further, the system may utilize phoneme to visemeanalysis to provide additional information about the likely conformationof the lower face (e.g., as described in U.S. patent application Ser.No. 15/717,223, filed Sep. 27, 2017, titled Face Model Capture by aWearable Device, which is hereby incorporated by reference herein in itsentirety or U.S. patent application Ser. No. 15/808,516, filed Nov. 9,2017, titled Periocular and Audio Synthesis of a Full Face Model, whichis hereby incorporated by reference herein in its entirety). Forexample, the results from block 2120 can be combined (e.g., averaged)with the results of a phoneme-viseme analysis to determine a morerealistic representation of the user's lower face. Additionally, smartweighting, such as giving more weight to other sensors when no audiodata is present, may be employed.

Examples of Personalization and Fidelity Increase of Facial FeatureCorrelation

FIG. 22 is a process flow diagram of an example method 2200 forpersonalization of the wearable device. The personalization method 2200is structured to take an individual user's differences into account andmake defined adjustments specific to the user such that the device mayprovide better correlation between the user's facial periocular facialfeatures and inferred lower face movements. This personalization method2200 can provide more realistic avatar facial features for the user. Forexample, the method may allow the system to make a personalizedadjustment between actual detected visible facial events toapproximations of the facial events provided by the mappings describedwith reference to blocks 1918 and 2120 in FIGS. 19 and 21. In someembodiments, the personalized adjustments may include adjustments ofweights for the mapping of extracted features, such as patch intensity,optical flow, etc.

At block 2202, the process 2200 starts and a user wears the device andstands in front of a mirror such that the mirror reflects the user'simage back to the device. The outward facing camera 502 should bepositioned such that at least some portions of the user's unobstructedmouth and forehead are captured from the mirror image (the user's eyearea is occluded by the device). As will be further described, duringthe method, the user will be asked to perform a series of facial posesor express a series of emotions, the outward facing camera will capturethese poses, and the method will analyze the images and generatepersonalized mappings and parameters that can be used in the methods1900 and 2100.

At block 2204, the device instructs via cues, including visible (e.g.,by the display 62) or audio (by a speaker 66) cues, which expression tomimic. The proposed expression may consist of words or images, or acombination of both. At block 2206, the system performs face detectionon the image(s) detected by the camera and object recognizers candetermine whether the user is performing the requested expression. Forexample, the system can compare facial features associated with therequested expression and the corresponding features of the user's actualexpression to determine whether they match. At block 2208, if theexpression detection algorithm detects a mismatch, the system returns toblock 2204 and instructs the user to mimic a same or a differentexpression. Alternatively, if the algorithm detects a match, the systemproceeds to block 2210.

At block 2210, the system reads image(s) from the outward facing camera502. The image is a mirror image of the user and some embodiments mayhorizontally transpose the image to obtain a true image of the user. Atblock 2212, the system runs a face detecting algorithm to extract keyfeatures for head shape, mouth shape, or any other facial features thatare not occluded by the HMD (e.g., some eye or nose features may beoccluded by some versions of the HMD). At block 2214, using theextracted features from block 2212, the system determines the head shapeof the user. At block 2316, using the determined head shape, the systemadjusts the visual appearance of an avatar to reflect the user'smeasured head shape. For example, the system can compare the determinedhead shape with head shapes in an avatar database and select the closestmatching head shape (or interpolate among nearby head shapes).

At block 2218, the system extracts other facial features such aswrinkles or freckles from regions of the face that are not occluded(e.g. the forehead region) of the image. The wrinkles or freckles of theimages are compared against a neutral image of the user and a dynamicimage of the user (e.g., mimicking a requested non-neutral expression)to determine which of the features are inherent to the user's neutralface (e.g., caused by aging) and which are due to facial movementscaused by performance of the facial expression.

At block 2220, using the extracted features from other blocks (e.g.,block 2212), the system determines the lower face conformation (e.g.,mouth shape) from the images and the lower face conformation from themethods described with reference to FIGS. 15, 17, 19, and 21. At block2222, the system calculates personal adjustments specific to the user toaccount for any discrepancies between the actual, detected lower faceconformation (from the mirror images) and estimates of the lower faceconformation using the techniques described herein (e.g., the output ofthe method 2100). The system can re-adjust weights specific to the userto better account for the mapping of extracted features (such as patchintensity, optical flow, etc.) to actual detected visible events.

At block 2224, the system adjusts detection thresholds for the userbased on the minima and maxima (e.g., minimum and maximum intensitychanges, eye positions, or eyebrow raise heights) obtained from thecollected frames of mimicked expressions. In some embodiments, thewearable device may obtain and analyze a user's image regularly oraccording to a schedule to further calibrate the device for the user(e.g., by displaying a request to the user to initiate the calibrationbeginning at block 2204). The regular or scheduled calibrations mayoccur while the user is interacting with the device without the usernoticing possible interruptions due to calibrations (e.g., a calibrationagent may run in the background). Such continued online calibrations tothe user's calibration profile can ensure best sensitivity for the userover time.

In some embodiments, the process may be repeated multiple times toobtain higher accuracy and/or precision. Further, if the user changeshis or her facial appearance (e.g., if a user were to grow a beard), themethod 2200 can be repeated to re-do the personalizations.

Examples of Inferring Facial Expressions with an Image of the PeriocularRegion

FIG. 23 is a block diagram that illustrates an example of a facialexpression determination system 2300. The facial expressiondetermination system 2300 may be implemented by the wearable devicesdescribed herein, e.g., the wearable system 100, 5050. For example,processing may be performed by the local processing & data module 71 orthe remote processing module 72 using data stored in the local or remotedata repository 74 (shown in FIG. 2). Periocular images can be taken bythe inward-facing imaging system 500.

As described herein, the system 2300 uses periocular images 2302obtained by an eye tracking camera to generate a representation ofregions of the face unimaged by the eye tracking camera, e.g., the lowerface (e.g., mouth, lips, etc.) A mapping of periocular features tofacial expressions 2320 of the lower face or the entire face can begenerated. The mapping 2320 can be generated by synthesizing eyebrowevents 2314 and lower face events 2316. The eyebrow events and lowerface events may be determined by the system 2300 based on whether thefit of the wearable device is tight or loose on the face of the wearer.For a tight fit, VEC changes 2304 can be analyzed (e.g., FIG. 17), andfor a loose fit, intensity changes 2306 can be used (e.g., FIG. 19). Thesystem 2300 can utilize measured muscle contractions or muscle flows2308, optical flows of wrinkles or freckles 2310, or changes in eyeshape 2312 obtained from the periocular images 2302, alone or incombination. The various features of the periocular region may also bedescribed (or encoded) by periocular region parameters (e.g., face spaceparameters in a deformable linear model (DLM), FACS action units, etc.).The eyebrow event detection 2314 and lower face event detection 2316(see, e.g., FIG. 21) can be combined to generate a mapping from theperiocular images to a facial expression (e.g., of the lower face or theentire face). The mapping 2320 can be used to determine a facialexpression for the lower portion of the face, in the regions unimaged bythe eye tracking cameras that obtain the periocular images 2302.

Various machine learning algorithms may be used by the system 2300, forexample, to generate the mapping 2320 or the facial expression 2325.Some examples of machine learning algorithms that can be used togenerate and update the models can include supervised or non-supervisedmachine learning algorithms, including regression algorithms (such as,for example, Ordinary Least Squares Regression), instance-basedalgorithms (such as, for example, Learning Vector Quantization),decision tree algorithms (such as, for example, classification andregression trees), Bayesian algorithms (such as, for example, NaiveBayes), clustering algorithms (such as, for example, k-meansclustering), association rule learning algorithms (such as, for example,a-priori algorithms), artificial neural network algorithms (such as, forexample, Perceptron), deep learning algorithms (such as, for example,Deep Boltzmann Machine, or deep neural network), dimensionalityreduction algorithms (such as, for example, Principal ComponentAnalysis), ensemble algorithms (such as, for example, StackedGeneralization), and/or other machine learning algorithms. In someembodiments, individual models can be customized for individual datasets. For example, the wearable device can generate a base model. Thebase model may be used as a starting point to generate additional modelsspecific to a data type (e.g., a particular user), a data set (e.g., aset of additional images obtained), conditional situations (e.g., fitduring gameplay may be different than fit during Internet browsing), orother variations. In some embodiments, the wearable device can beconfigured to utilize a plurality of techniques to generate models foranalysis of the aggregated data. Other techniques may include usingpre-defined thresholds or data values. Over time, the wearable devicecan continue to update the machine learning derived mapping 2320.

The system 2300 can include a personalization engine 2323 configured toimplement personalization of the facial mapping as described withreference to FIG. 22. As described, an outward-facing imaging system canacquire images of the user's lower face 2318 (e.g., while the user ispositioned in front of a mirror) and use these images to tune the systemto better reflect the user's personality and increase fidelity ofemotional expressiveness. Personalization can be performed when the HMDis acquired or periodically during use of the HMD by the user.

Examples of Synthesizing a Full Face Image and Animating an Avatar withthe Full Face Image

FIG. 24 is a flowchart for an example method 2400 for generating fullface parameters from images of the periocular region of the face. Themethod 2400 can be performed by the wearable devices 100, 5050. At block2402, the method initializes eye tracking of the periocular region of aneye of the wearer of the device. In some methods, both of the wearer'seyes are tracked. At block 2404, the method accesses images of theperiocular region. At block 2406, the fit level of the device on theface of the wearer is determined. For example, the fit level maycomprise a loose fit or a tight fit described, for example, withreference to FIGS. 14A and 14B, respectively.

At decision block 2408, the method determines whether the fit is loose,and if so, moves to block 2412, where the method 1900 described withreference to FIG. 19 can be utilized to measure periocular featuresbased on levels of reflected light intensity (typically in the IR). Ifthe fit is determined not to be loose, the method moves to block 2414where the method 1700 described with reference to FIG. 17 can beutilized to measure movement (e.g., upward or downward) of the device onthe face of the user. As described, such movement of the device can beused to infer movements of the eyebrow.

At block 2416, the periocular measurements taken at block 2412 or block2414 are used to generate periocular facial parameters that representthe movement of the wearer's periocular region while the wearer isperforming an expression. For example, the periocular facial parameterscan represent eyebrow movement (e.g., raising or lowering), movement ofthe corners of the eyes, movement of the skin or eyelids around theeyes, and so forth. Face parameters (for the periocular, lower, or wholeface) can include FACS action units (AUs), deformable linear model (DLM)parameters, active shape model (ASM) parameters, active appearance model(AAM) parameters, morphable model (M) parameters, or parameters for anyother two-dimensional (2D) or 3D shape or texture model, alone or incombination.

At block 2418, the method generates lower facial parameters thatcorrespond to lower regions of the face that are not imaged by the eyetracking cameras. The lower facial parameters can comprise DLMparameters, FACS action units, etc. At block 2420, the periocular facialparameters and the lower facial parameters are combined to generatefacial parameters for the full face of the wearer. The full facialparameters may comprise DLM parameters, FACS action units, or a full 3Dfacial model (e.g., lower face and periocular regions). The full facialparameters can be used by the device to animate an avatar representingthe wearer, so that the avatar performs the full facial expression inthe virtual world that is being performed by the wearer in the realworld. In a telepresence environment, the full facial parameters may becommunicated to a second user's wearable device, which uses the facialparameters to display to the second user an animation of the first userduring the telepresence session (see, e.g., FIG. 10B). The method 2400can be performed in real-time so that the avatar rendering occurs inreal time with reduced or minimal latency.

FIG. 25 is a flowchart for another method 2500 of generating a facialmodel of a wearer of an HMD from images of the periocular region of thewearer. The method 2500 can be performed by the wearable systems 100,5050. At block 2502, the method accesses an image of a periocular regionof the wearer of the HMD. In some cases, the eye-tracking camera of theHMD is used to capture the periocular images. In some implementations,the periocular images are analyzed to determine a level of fit of theHMD on the face of the wearer (e.g., as described with reference toFIGS. 14A, 14B, and 24). At block 2504, the periocular images areanalyzed and periocular face parameters are extracted from the images.At block 2506, lower face parameters that correspond to the expressionrepresented by the periocular face parameters (block 2504) aregenerated. The periocular and lower face parameters can be combined atblock 2508 to generate a full face model (e.g., a DLM model, FACS AUs,etc.).

At block 2510, the full face model can be used by the HMD to animate theappearance of an avatar based on the facial expression the wearer of theHMD is performing in the real world. Additionally or alternatively, atblock 2512, the wearer's HMD can communicate the full face parameters tothe HMD of another user, for example during a telepresence session, andthe other user's HMD can render an avatar representing the wearer.

Additional Aspects

1. A wearable system comprising: an inward-facing imaging systemconfigured to image a periocular region of a wearer of the wearablesystem; a hardware processor programmed to: acquire a periocular image,via the inward-facing imaging system, of the periocular region of thewearer; generate, based at least partly on the periocular image,periocular face parameters encoding a periocular conformation of atleast the periocular region of the wearer; generate, based at leastpartly on the periocular face parameters, lower face parameters of thelower face of the wearer, wherein the lower face is unobserved by theinward-facing imaging system when worn by the wearer; combine theperiocular face parameters and the lower face parameters to generatefull face parameters associated with a three-dimensional (3D) face modelof the wearer; and store the full face parameters for use by a renderingengine to generate a 3D animation of the face of the wearer.

2. The wearable system of aspect 1, wherein the 3D face model comprisesa deformable linear model and wherein the periocular face parameters andthe lower face parameters describe a deformation of the face of thewearer.

3. The wearable system of aspect 1 or aspect 2, wherein periocular faceparameters or the lower face parameters comprise action units of afacial action coding system.

4. The wearable system of any one of aspects 1-3, wherein the 3D facemodel is generated without use of audio data representative of soundsmade by the wearer.

5. The wearable system of any one of aspects 1-4, wherein theinward-facing imaging system comprises an eye-tracking camera and aninfrared (IR) light source.

6. The wearable system of any one of aspects 1-5, wherein to generatethe periocular face parameters the hardware processor is programmed to:analyze intensities of light reflected from patches of the periocularregion; or analyze an optical flow of patches of the periocular region;or determine upward or downward movement of the wearable system relativeto an eye position of the wearer.

7. The wearable system of any one of aspects 1-6, wherein the hardwareprocessor is further programmed to: determine a fit level of thewearable system on the wearer, wherein the fit level comprises a loosefit or a tight fit; in response to a determination of a loose fit,generate the periocular face parameters based at least partly onintensity measurements or optical flow of patches in the periocularregion; or in response to a determination of a tight fit, generate theperiocular face parameters based at least partly on movement of thewearable system relative to the face of the wearer, the movementresponsive to a facial expression of the wearer.

8. The wearable system of aspect 7, wherein to generate the periocularface parameters based at least partly on movement of the wearable systemrelative to the face of the wearer, the hardware processor is programmedto calculate, from images obtained by the inward-facing imaging system,a time sequence for a position of an eye.

9. The wearable system of aspect 8, wherein the hardware processor isprogrammed to identify an eyebrow movement event based on the positionof the eye passing a threshold position during the time sequence.

10. The wearable system of any one of aspects 1-9, wherein to generatethe periocular face parameters based at least partly on intensitymeasurements or optical flow of patches in the periocular region, thehardware processor is programmed to analyze intensity or optical flow ofa plurality of three or more patches.

11. The wearable system of aspect 10, wherein the plurality of three ormore patches are disposed at an inner, a middle, and an outer portionnear an eyebrow of the wearer.

12. The wearable system of any one of aspects 1-11, further comprisingan electrooculography (EOG) sensor configured to measure musclemovements near an eye, and wherein the hardware processor is furtherprogrammed to generate the periocular face parameters based at leastpartly on the EOG measurements.

13. The wearable system of any one of aspects 1-12, wherein the hardwareprocessor is programmed to perform a temporal consistency check on theperiocular face parameters.

14. The wearable system of aspect 13, wherein to perform the temporalconsistency check, the hardware processor is programmed to determinewhether a time history of periocular features extracted from periocularimages is consistent with a facial expression of the wearer.

15. The wearable system of any one of aspects 1-14, wherein: the lowerface parameters comprise first lower face parameters generated fromanalysis of a left periocular region and second lower face parametersgenerated from analysis of a right periocular region, and the hardwareprocessor is programmed to perform a cross eye check for consistencybetween the first lower face parameters and the second lower faceparameters.

16. The wearable system of any one of aspects 1-15, wherein the hardwareprocessor is further programmed to determine personalized parametersassociated with actual facial expressions of the wearer.

17. The wearable system of aspect 16, wherein the hardware processor isprogrammed to: communicate an instruction to the wearer to perform afirst facial expression; capture an image of the wearer performing thefirst facial expression; analyze the image to determine or update one ormore of: a visual appearance of a face of an avatar corresponding to thewearer; a head shape of the avatar; facial features of the wearerperforming a neutral expression; detection thresholds used by thewearable system to generate the periocular face parameters, the lowerface parameters, or the 3D model; or a mapping table of facialconformations.

18. The wearable system of any one of aspects 1-17, wherein the hardwareprocessor is programmed to communicate the full face model or the 3Dface model to a second wearable system via a wireless network.

19. A method comprising: under control of a head-mounted display (HMD)comprising a hardware processor in communication with non-transitorymemory and an inward-facing imaging system configured to image aperiocular region of a user: accessing a periocular image acquired bythe inward-facing imaging system; determining, based at least partly onthe image, periocular face parameters for a periocular conformation ofat least the periocular region of the user; calculating, based at leastpartly on the periocular face parameters, lower face parameters for alower region of the face of the user, the lower region not imaged by theinward-facing imaging system; and combining the periocular faceparameters and the lower face parameters to generate full faceparameters for the face of the user.

20. The method of aspect 19, further comprising: determining a level offit of the HMD on the face of the user, the level of fit comprising aloose fit and a tight fit; in response to determining the level of fitis a loose fit: analyzing an intensity of light reflected from a patchof skin in the periocular region of the user; and determining an eyebrowmovement of the user from the analysis of the intensity of light; or inresponse to determining the level of fit is a tight fit: analyzingperiocular images to determine movement of the HMD relative to an eyeposition of the user; determining an eyebrow movement of the user fromthe analysis of the periocular images.

21. The method of aspect 19 or aspect 20, further comprising performinga temporal consistency check on the periocular face parameters.

22. The method of any one of aspects 19-21, the lower face parameterscomprise first lower face parameters generated from analysis of a leftperiocular region and second lower face parameters generated fromanalysis of a right periocular region, the method further comprisingconducting a cross eye check for consistency between the first lowerface parameters and the second lower face parameters.

23. The method of any one of aspects 19-22, further comprising:accessing images of the user performing a series of facial expressions;analyzing the images to determine user-specific facial features;utilizing the user-specific facial features in determining theperiocular face parameters, the lower face parameters, or the full faceparameters.

24. The method of aspect 23, wherein accessing images of the userperforming a series of facial expressions comprises: acquiring theimages with an outward-facing imaging system of the HMD while the userperforms the series of facial expressions in front of a mirror.

25. A wearable display system comprising: an inward-facing imagingsystem configured to capture an image of a periocular region of a wearerof the wearable display; non-transitory memory configured to store theimage of the periocular region; and a hardware processor incommunication with the non-transitory memory, the hardware processorprogrammed to: access the image of the periocular region of the wearer;generate, based at least partly on the image, periocular regionparameters encoding periocular features of the wearer; generate lowerface parameters based at least partly on the periocular regionparameters; and generate a representation of the full face of the wearerbased at least partly on the lower face parameters and the periocularregion parameters.

26. The system of aspect 25, wherein the periocular features includeextensions and compressions of periocular muscles, wrinkles, blemishes,or patches in the periocular region, eyelids, or eyebrows.

27. The system of aspect 25 or aspect 26, wherein the periocular regionparameters include optical flow of a periocular feature or measurementof a raise or a lowering of an eyebrow.

28. The system of aspect 27, wherein the periocular region parametersinclude a vertical eye center (VEC) position.

29. The system of any one of aspects 25-28, wherein the inward-facingimaging system comprises an infrared light emitting diode (IR LED) or aphoto-reflective sensor configured to detect a light intensity of theperiocular region.

30. The system of any one of aspects 25-29, wherein the hardwareprocessor is programmed to: measure a light intensity of a patch in theperiocular region; and compare the light intensity of the patch againsta threshold to determine the distance of the periocular regionunderlying the patch from the inward-facing imaging system.

31. The system of any one of aspects 25-30, wherein a lower faceconformation is cross-checked for full face consistency based on aneyebrow position.

32. The system of any one of aspects 25-31, further comprising an audiosensor, wherein a lower face conformation is checked for consistencyagainst phonemes recorded from the audio sensor.

33. The system of any one of aspects 25-32, wherein a fit level of theHMD on the wearer is determined based on eye positions.

34. The system of aspect 33, wherein the eye positions are determinedfrom pupil-glint tracking.

35. The system of any one of aspects 25-34, further comprising anelectrooculography (EOG) sensor, wherein the system is configured todetermine eye positions from readings of EOG sensor.

36. The system of any one of aspects 25-35, wherein the system isconfigured to obtain calibration data specific to the wearer,

37. The system of aspect 36, wherein the system is configured to obtainan image of a region of the wearer's face that is not imaged by theinward-facing imaging system, and wherein the calibration data comprisesa head shape or a mouth shape.

38. The system of any one of aspects 25-37, wherein the system isconfigured to temporally check the representation of the full faceagainst past full face parameters generated from previously capturedperiocular region images.

39. A method comprising: under control of a head-mounted display (HMD)comprising an inward-facing imaging system configured to image aperiocular region of a wearer of the HMD and a hardware processor:acquiring a periocular image, via the inward-facing imaging system, ofthe periocular region of the wearer; generating, based at least partlyon the periocular image, periocular face parameters encoding aperiocular conformation of at least the periocular region of the wearer;generating, based at least partly on the periocular face parameters,lower face parameters of the lower face of the wearer, wherein the lowerface is unobserved by the inward-facing imaging system when worn by thewearer; combining the periocular face parameters and the lower faceparameters to generate full face parameters associated with athree-dimensional (3D) face model of the wearer; and storing the fullface parameters for use by a rendering engine to generate a 3D animationof the face of the wearer.

40. A wearable display system comprising: an inward-facing imagingsystem configured to image a periocular region of a user; non-transitorymemory configured to store images of the periocular region of the user;a hardware processor in communication with non-transitory memory, thehardware processor programmed to: access a periocular image acquired bythe inward-facing imaging system; determine, based at least partly onthe image, periocular face parameters for a periocular conformation ofat least the periocular region of the user; calculate, based at leastpartly on the periocular face parameters, lower face parameters for alower region of the face of the user, the lower region not imaged by theinward-facing imaging system; and combine the periocular face parametersand the lower face parameters to generate full face parameters for theface of the user.

41. A method comprising: under control of a wearable display systemcomprising an inward-facing imaging system configured to capture animage of a periocular region of a wearer of the wearable display,non-transitory memory configured to store the image of the periocularregion; and a hardware processor in communication with thenon-transitory memory: accessing the image of the periocular region ofthe wearer; generating, based at least partly on the image, periocularregion parameters encoding periocular features of the wearer; generatinglower face parameters based at least partly on the periocular regionparameters; and generating a representation of the full face of thewearer based at least partly on the lower face parameters and theperiocular region parameters.

42. A wearable system comprising: an inward-facing imaging systemconfigured to image a periocular region of a wearer of the wearablesystem; and a hardware processor programmed to: access a periocularimage, obtained via the inward-facing imaging system, of the periocularregion of the wearer; determine a fit level of the wearable system onthe wearer, wherein the fit level comprises a loose fit or a tight fit;in response to a determination of a loose fit, generate periocular faceparameters that encode a periocular conformation of at least theperiocular region of the wearer, the periocular face parametersgenerated based at least partly on intensity measurements or opticalflow of patches in the periocular region; or in response to adetermination of a tight fit, generate the periocular face parametersbased at least partly on movement of the wearable system relative to theface of the wearer, the movement responsive to a facial expression ofthe wearer; generate, based at least partly on the periocular faceparameters, lower face parameters of the lower face of the wearer,wherein the lower face is unobserved by the inward-facing imaging systemwhen worn by the wearer; and combine the periocular face parameters andthe lower face parameters to generate full face parameters associatedwith a three-dimensional (3D) face model of the wearer.

43. A method comprising: under control of a head-mounted display systemcomprising an inward-facing imaging system configured to image aperiocular region of a wearer of the wearable system and a hardwareprocessor: accessing a periocular image, obtained via the inward-facingimaging system, of the periocular region of the wearer; determining afit level of the wearable system on the wearer, wherein the fit levelcomprises a loose fit or a tight fit; in response to a determination ofa loose fit, generating periocular face parameters that encode aperiocular conformation of at least the periocular region of the wearer,the periocular face parameters generated based at least partly onintensity measurements or optical flow of patches in the periocularregion; or in response to a determination of a tight fit, generating theperiocular face parameters based at least partly on movement of thewearable system relative to the face of the wearer, the movementresponsive to a facial expression of the wearer; generating, based atleast partly on the periocular face parameters, lower face parameters ofthe lower face of the wearer, wherein the lower face is unobserved bythe inward-facing imaging system when worn by the wearer; and combiningthe periocular face parameters and the lower face parameters to generatefull face parameters associated with a three-dimensional (3D) face modelof the wearer.

Although various examples and embodiments described herein utilizeimages of the periocular region to generate full facial images, this isfor illustration and is not limiting. Some such embodiments may utilizethe periocular imagery and may not use other sensor data (e.g., audiodata) in generating the full facial images (which may be advantageouswhen the user is not speaking). Some embodiments can additionallyutilize other sensor input to assist in generating the full facialimages, thereby utilizing a multi-modal approach to generate the fullfacial images. For example, audio data obtained from the microphone 69may be used to associate facial conformations with sounds in the audiodata, and the facial conformations can be used together with theperiocular imagery to generate the full facial image.

Other Considerations

Each of the processes, methods, and algorithms described herein and/ordepicted in the attached figures may be embodied in, and fully orpartially automated by, code modules executed by one or more physicalcomputing systems, hardware computer processors, application-specificcircuitry, and/or electronic hardware configured to execute specific andparticular computer instructions. For example, computing systems caninclude general purpose computers (e.g., servers) programmed withspecific computer instructions or special purpose computers, specialpurpose circuitry, and so forth. A code module may be compiled andlinked into an executable program, installed in a dynamic link library,or may be written in an interpreted programming language. In someimplementations, particular operations and methods may be performed bycircuitry that is specific to a given function.

Further, certain implementations of the functionality of the presentdisclosure are sufficiently mathematically, computationally, ortechnically complex that application-specific hardware or one or morephysical computing devices (utilizing appropriate specialized executableinstructions) may be necessary to perform the functionality, forexample, due to the volume or complexity of the calculations involved orto provide results substantially in real-time (e.g., for real-timeanimation of a virtual character). For example, animations or video mayinclude many frames, with each frame having millions of pixels, andspecifically programmed computer hardware is necessary to process thevideo data to provide a desired image processing task or application ina commercially reasonable amount of time.

Code modules or any type of data may be stored on any type ofnon-transitory computer-readable medium, such as physical computerstorage including hard drives, solid state memory, random access memory(RAM), read only memory (ROM), optical disc, volatile or non-volatilestorage, combinations of the same and/or the like. The methods andmodules (or data) may also be transmitted as generated data signals(e.g., as part of a carrier wave or other analog or digital propagatedsignal) on a variety of computer-readable transmission mediums,including wireless-based and wired/cable-based mediums, and may take avariety of forms (e.g., as part of a single or multiplexed analogsignal, or as multiple discrete digital packets or frames). The resultsof the disclosed processes or process steps may be stored, persistentlyor otherwise, in any type of non-transitory, tangible computer storageor may be communicated via a computer-readable transmission medium.

Any processes, blocks, states, steps, or functionalities in flowdiagrams described herein and/or depicted in the attached figures shouldbe understood as potentially representing code modules, segments, orportions of code which include one or more executable instructions forimplementing specific functions (e.g., logical or arithmetical) or stepsin the process. The various processes, blocks, states, steps, orfunctionalities can be combined, rearranged, added to, deleted from,modified, or otherwise changed from the illustrative examples providedherein. In some embodiments, additional or different computing systemsor code modules may perform some or all of the functionalities describedherein. The methods and processes described herein are also not limitedto any particular sequence, and the blocks, steps, or states relatingthereto can be performed in other sequences that are appropriate, forexample, in serial, in parallel, or in some other manner. Tasks orevents may be added to or removed from the disclosed exampleembodiments. Moreover, the separation of various system components inthe implementations described herein is for illustrative purposes andshould not be understood as requiring such separation in allimplementations. It should be understood that the described programcomponents, methods, and systems can generally be integrated together ina single computer product or packaged into multiple computer products.Many implementation variations are possible.

The processes, methods, and systems may be implemented in a network (ordistributed) computing environment. Network environments includeenterprise-wide computer networks, intranets, local area networks (LAN),wide area networks (WAN), personal area networks (PAN), cloud computingnetworks, crowd-sourced computing networks, the Internet, and the WorldWide Web. The network may be a wired or a wireless network or any othertype of communication network.

The systems and methods of the disclosure each have several innovativeaspects, no single one of which is solely responsible or required forthe desirable attributes disclosed herein. The various features andprocesses described above may be used independently of one another, ormay be combined in various ways. All possible combinations andsubcombinations are intended to fall within the scope of thisdisclosure. Various modifications to the implementations described inthis disclosure may be readily apparent to those skilled in the art, andthe generic principles defined herein may be applied to otherimplementations without departing from the spirit or scope of thisdisclosure. Thus, the claims are not intended to be limited to theimplementations shown herein, but are to be accorded the widest scopeconsistent with this disclosure, the principles and the novel featuresdisclosed herein.

Certain features that are described in this specification in the contextof separate implementations also can be implemented in combination in asingle implementation. Conversely, various features that are describedin the context of a single implementation also can be implemented inmultiple implementations separately or in any suitable subcombination.Moreover, although features may be described above as acting in certaincombinations and even initially claimed as such, one or more featuresfrom a claimed combination can in some cases be excised from thecombination, and the claimed combination may be directed to asubcombination or variation of a subcombination. No single feature orgroup of features is necessary or indispensable to each and everyembodiment.

Conditional language used herein, such as, among others, “can,” “could,”“might,” “may,” “e.g.,” and the like, unless specifically statedotherwise, or otherwise understood within the context as used, isgenerally intended to convey that certain embodiments include, whileother embodiments do not include, certain features, elements and/orsteps. Thus, such conditional language is not generally intended toimply that features, elements and/or steps are in any way required forone or more embodiments or that one or more embodiments necessarilyinclude logic for deciding, with or without author input or prompting,whether these features, elements and/or steps are included or are to beperformed in any particular embodiment. The terms “comprising,”“including,” “having,” and the like are synonymous and are usedinclusively, in an open-ended fashion, and do not exclude additionalelements, features, acts, operations, and so forth. Also, the term “or”is used in its inclusive sense (and not in its exclusive sense) so thatwhen used, for example, to connect a list of elements, the term “or”means one, some, or all of the elements in the list. In addition, thearticles “a,” “an,” and “the” as used in this application and theappended claims are to be construed to mean “one or more” or “at leastone” unless specified otherwise.

As used herein, a phrase referring to “at least one of” a list of itemsrefers to any combination of those items, including single members. Asan example, “at least one of: A, B, or C” is intended to cover: A, B, C,A and B, A and C, B and C, and A, B, and C. Conjunctive language such asthe phrase “at least one of X, Y and Z,” unless specifically statedotherwise, is otherwise understood with the context as used in generalto convey that an item, term, etc. may be at least one of X, Y or Z.Thus, such conjunctive language is not generally intended to imply thatcertain embodiments require at least one of X, at least one of Y and atleast one of Z to each be present.

Similarly, while operations may be depicted in the drawings in aparticular order, it is to be recognized that such operations need notbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. Further, the drawings may schematically depict one more exampleprocesses in the form of a flowchart. However, other operations that arenot depicted can be incorporated in the example methods and processesthat are schematically illustrated. For example, one or more additionaloperations can be performed before, after, simultaneously, or betweenany of the illustrated operations. Additionally, the operations may berearranged or reordered in other implementations. In certaincircumstances, multitasking and parallel processing may be advantageous.Moreover, the separation of various system components in theimplementations described above should not be understood as requiringsuch separation in all implementations, and it should be understood thatthe described program components and systems can generally be integratedtogether in a single software product or packaged into multiple softwareproducts. Additionally, other implementations are within the scope ofthe following claims. In some cases, the actions recited in the claimscan be performed in a different order and still achieve desirableresults.

What is claimed is:
 1. A wearable display system comprising: aninward-facing imaging system configured to capture an image of aperiocular region of a wearer of the wearable display; non-transitorymemory configured to store the image of the periocular region; and ahardware processor in communication with the non-transitory memory, thehardware processor programmed to: access the image of the periocularregion of the wearer; generate, based at least partly on the image,periocular region parameters encoding periocular features of the wearer;generate lower face parameters based at least partly on the periocularregion parameters; and generate a representation of the full face of thewearer based at least partly on the lower face parameters and theperiocular region parameters.
 2. The system of claim 1, wherein theperiocular features include extensions and compressions of periocularmuscles, wrinkles, blemishes, or patches in the periocular region,eyelids, or eyebrows.
 3. The system of claim 1, wherein the periocularregion parameters include optical flow of a periocular feature ormeasurement of a raise or a lowering of an eyebrow.
 4. The system ofclaim 3, wherein the periocular region parameters include a vertical eyecenter (VEC) position.
 5. The system of claim 1, wherein theinward-facing imaging system comprises an infrared light emitting diode(IR LED) or a photo-reflective sensor configured to detect a lightintensity of the periocular region.
 6. The system of claim 1, whereinthe hardware processor is programmed to: measure a light intensity of apatch in the periocular region; and compare the light intensity of thepatch against a threshold to determine the distance of the periocularregion underlying the patch from the inward-facing imaging system. 7.The system of claim 1, wherein a lower face conformation iscross-checked for full face consistency based on an eyebrow position. 8.The system of claim 1, further comprising an audio sensor, wherein alower face conformation is checked for consistency against phonemesrecorded from the audio sensor.
 9. The system of claim 1, wherein a fitlevel of the HMD on the wearer is determined based on eye positions. 10.The system of claim 9, wherein the eye positions are determined frompupil-glint tracking.
 11. The system of claim 1, further comprising anelectrooculography (EOG) sensor, wherein the system is configured todetermine eye positions from readings of EOG sensor.
 12. The system ofclaim 1, wherein the system is configured to obtain calibration dataspecific to the wearer,
 13. The system of claim 12, wherein the systemis configured to obtain an image of a region of the wearer's face thatis not imaged by the inward-facing imaging system, and wherein thecalibration data comprises a head shape or a mouth shape.
 14. The systemof claim 1, wherein the system is configured to temporally check therepresentation of the full face against past full face parametersgenerated from previously captured periocular region images.
 15. Amethod comprising: under control of a wearable display system comprisingan inward-facing imaging system configured to capture an image of aperiocular region of a wearer of the wearable display, non-transitorymemory configured to store the image of the periocular region; and ahardware processor in communication with the non-transitory memory:accessing the image of the periocular region of the wearer; generating,based at least partly on the image, periocular region parametersencoding periocular features of the wearer; generating lower faceparameters based at least partly on the periocular region parameters;and generating a representation of the full face of the wearer based atleast partly on the lower face parameters and the periocular regionparameters.
 16. A method comprising: under control of a head-mounteddisplay (HMD) comprising an inward-facing imaging system configured toimage a periocular region of a wearer of the HMD and a hardwareprocessor: acquiring a periocular image, via the inward-facing imagingsystem, of the periocular region of the wearer; generating, based atleast partly on the periocular image, periocular face parametersencoding a periocular conformation of at least the periocular region ofthe wearer; generating, based at least partly on the periocular faceparameters, lower face parameters of the lower face of the wearer,wherein the lower face is unobserved by the inward-facing imaging systemwhen worn by the wearer; combining the periocular face parameters andthe lower face parameters to generate full face parameters associatedwith a three-dimensional (3D) face model of the wearer; and storing thefull face parameters for use by a rendering engine to generate a 3Danimation of the face of the wearer.
 17. A wearable system comprising:an inward-facing imaging system configured to image a periocular regionof a wearer of the wearable system; a hardware processor programmed to:acquire a periocular image, via the inward-facing imaging system, of theperiocular region of the wearer; generate, based at least partly on theperiocular image, periocular face parameters encoding a periocularconformation of at least the periocular region of the wearer; generate,based at least partly on the periocular face parameters, lower faceparameters of the lower face of the wearer, wherein the lower face isunobserved by the inward-facing imaging system when worn by the wearer;combine the periocular face parameters and the lower face parameters togenerate full face parameters associated with a three-dimensional (3D)face model of the wearer; and store the full face parameters for use bya rendering engine to generate a 3D animation of the face of the wearer.18. A wearable display system comprising: an inward-facing imagingsystem configured to image a periocular region of a user; non-transitorymemory configured to store images of the periocular region of the user;a hardware processor in communication with non-transitory memory, thehardware processor programmed to: access a periocular image acquired bythe inward-facing imaging system; determine, based at least partly onthe image, periocular face parameters for a periocular conformation ofat least the periocular region of the user; calculate, based at leastpartly on the periocular face parameters, lower face parameters for alower region of the face of the user, the lower region not imaged by theinward-facing imaging system; and combine the periocular face parametersand the lower face parameters to generate full face parameters for theface of the user.
 19. A method comprising: under control of ahead-mounted display (HMD) comprising a hardware processor incommunication with non-transitory memory and an inward-facing imagingsystem configured to image a periocular region of a user: accessing aperiocular image acquired by the inward-facing imaging system;determining, based at least partly on the image, periocular faceparameters for a periocular conformation of at least the periocularregion of the user; calculating, based at least partly on the periocularface parameters, lower face parameters for a lower region of the face ofthe user, the lower region not imaged by the inward-facing imagingsystem; and combining the periocular face parameters and the lower faceparameters to generate full face parameters for the face of the user.20. A wearable system comprising: an inward-facing imaging systemconfigured to image a periocular region of a wearer of the wearablesystem; and a hardware processor programmed to: access a periocularimage, obtained via the inward-facing imaging system, of the periocularregion of the wearer; determine a fit level of the wearable system onthe wearer, wherein the fit level comprises a loose fit or a tight fit;in response to a determination of a loose fit, generate periocular faceparameters that encode a periocular conformation of at least theperiocular region of the wearer, the periocular face parametersgenerated based at least partly on intensity measurements or opticalflow of patches in the periocular region; or in response to adetermination of a tight fit, generate the periocular face parametersbased at least partly on movement of the wearable system relative to theface of the wearer, the movement responsive to a facial expression ofthe wearer; generate, based at least partly on the periocular faceparameters, lower face parameters of the lower face of the wearer,wherein the lower face is unobserved by the inward-facing imaging systemwhen worn by the wearer; and combine the periocular face parameters andthe lower face parameters to generate full face parameters associatedwith a three-dimensional (3D) face model of the wearer.
 21. A methodcomprising: under control of a head-mounted display system comprising aninward-facing imaging system configured to image a periocular region ofa wearer of the wearable system and a hardware processor: accessing aperiocular image, obtained via the inward-facing imaging system, of theperiocular region of the wearer; determining a fit level of the wearablesystem on the wearer, wherein the fit level comprises a loose fit or atight fit; in response to a determination of a loose fit, generatingperiocular face parameters that encode a periocular conformation of atleast the periocular region of the wearer, the periocular faceparameters generated based at least partly on intensity measurements oroptical flow of patches in the periocular region; or in response to adetermination of a tight fit, generating the periocular face parametersbased at least partly on movement of the wearable system relative to theface of the wearer, the movement responsive to a facial expression ofthe wearer; generating, based at least partly on the periocular faceparameters, lower face parameters of the lower face of the wearer,wherein the lower face is unobserved by the inward-facing imaging systemwhen worn by the wearer; and combining the periocular face parametersand the lower face parameters to generate full face parametersassociated with a three-dimensional (3D) face model of the wearer.